C#怎么用ASP.NET Core开发学生管理系统
C#怎么用ASP.NET Core开发学生管理系统
本篇内容介绍了“C#怎么用ASP.NETCore开发学生管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
涉及知识点
开发学生管理系统,涉及知识点,如下所示:
开发工具:Visual Studio 2019
目标框架:.Net 5.0
架构:MVC三层架构【Model-View-Controller】
创建项目
文件-->新建-->项目-->ASP.NET Core Web应用(模型-视图-控制器),如下所示:
然后点击下一步,进入配置新项目页面,输入项目名称【SMS=Student Management System】及保存位置,然后点击下一步,如下所示:
选择其他信息【目标框架选择.NET 5.0】,然后点击创建,如下所示:
通过默认创建的项目,如下所示:
登录模块
1. 创建控制器--LoginController
在Controllers文件夹-->右键添加-->控制器,如下所示:
打开创建视图控制器窗口,选择MVC控制器-空,然后点击添加。 如下所示:
弹出添加新项窗口,选择MVC控制器-空,输入控制器名称,点击创建即可,如下所示:
控制器代码如下所示:
namespaceSMS.Controllers{publicclassLoginController:Controller{privateDataContextdataContext;publicLoginController(DataContextcontext){dataContext=context;}[HttpGet]publicIActionResultIndex(){returnView();}[HttpPost]publicIActionResultLogin(Useruser){if(string.IsNullOrEmpty(user.UserName)||string.IsNullOrEmpty(user.Password)){ViewBag.Msg="用户名或密码为空";returnView("Index",user);}else{varitem=dataContext.Users.FirstOrDefault(i=>i.UserName==user.UserName&&i.Password==user.Password);if(item!=null){HttpContext.Session.SetInt32("UserId",item.Id);returnRedirect("/Home");}else{ViewBag.Msg="用户名或密码验证错误";returnView("Index",user);}}}}}
2. 创建登录视图
在Views文件夹下新增Login文件夹,然后新增视图【Index.cshtml】,如下所示:
然后选择空视图,如下所示:
输入视图名称【Index.cshtml】,点击添加即可,如下所示:
登录页面,添加如下代码,如下所示:
<!DOCTYPEhtml><html><head><title>学生管理系统</title><linkrel="stylesheet"href="/css/login.css"rel="externalnofollow"><!--For-Mobile-Apps-and-Meta-Tags--><metaname="viewport"content="width=device-width,initial-scale=1"/><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><!--//For-Mobile-Apps-and-Meta-Tags--></head><body><h2>学生管理系统</h2><divclass="containerw3"><formaction="/Login/Login"method="post"><divclass="username"><spanclass="username">Username:</span><inputtype="text"id="UserName"name="UserName"class="name"placeholder=""required=""><divclass="clear"></div></div><divclass="password-agileits"><spanclass="username">Password:</span><inputtype="password"id="Password"name="Password"class="password"placeholder=""required=""><divclass="clear"></div></div><divclass="rem-for-agile"><inputtype="checkbox"name="remember"class="remember">记住密码<br></div><divclass="login-w3"><inputtype="submit"class="login"value="登录"></div><divclass="clear"></div><div>@ViewBag.Msg</div></form></div><divclass="footer-w3l"><p>©2021学生管理系统.AllRightsReserved|Designby小六公子</p></div></body></html>
3. 创建用户模型
在Models文件夹下,右键添加类,如下所示:
输入模型名称【User】,点击添加即可,如下所示:
用户模型User,如下所示:
namespaceSMS.Models{publicclassUser{///<summary>///用户唯一标识///</summary>publicintId{get;set;}///<summary>///登录账号///</summary>publicstringUserName{get;set;}///<summary>///密码///</summary>publicstringPassword{get;set;}///<summary>///显示名称///</summary>publicstringNickName{get;set;}}}
4. 创建数据库操作DataContext
数据库操作采用EntityFrameCore框架,继承自DbContext,如下所示:
namespaceSMS.Models{publicclassDataContext:DbContext{publicDbSet<User>Users{get;set;}publicDataContext(DbContextOptionsoptions):base(options){}}}
5. 创建数据库和表并构造数据
创建数据库和表并构造数据,如下所示:
6. 添加数据库连接配置
连接数据库,需要在配置文件appsettings.json中,添加数据库连接字符串,如下所示:
{"Logging":{"LogLevel":{"Default":"Information","Microsoft":"Warning","Microsoft.Hosting.Lifetime":"Information"}},"ConnectionStrings":{"Default":"Server=localhost;Database=SMS;Trusted_Connection=True;UserId=sa;Password=abc123"},"AllowedHosts":"*"}
7. 添加注入信息
在Startup.cs中,添加EntittyFramework的注入,如下所示:
namespaceSMS{publicclassStartup{publicStartup(IConfigurationconfiguration){Configuration=configuration;}publicIConfigurationConfiguration{get;}//Thismethodgetscalledbytheruntime.Usethismethodtoaddservicestothecontainer.publicvoidConfigureServices(IServiceCollectionservices){services.AddControllersWithViews();//数据库EntityFrameworkCore注入services.AddDbContext<DataContext>(options=>options.UseSqlServer(Configuration.GetConnectionString("Default")));services.AddHttpContextAccessor();services.AddSession();//配置session访问服务}//Thismethodgetscalledbytheruntime.UsethismethodtoconfiguretheHTTPrequestpipeline.publicvoidConfigure(IApplicationBuilderapp,IWebHostEnvironmentenv){if(env.IsDevelopment()){app.UseDeveloperExceptionPage();}else{app.UseExceptionHandler("/Home/Error");//ThedefaultHSTSvalueis30days.Youmaywanttochangethisforproductionscenarios,seehttps://aka.ms/aspnetcore-hsts.app.UseHsts();}app.UseHttpsRedirection();app.UseStaticFiles();app.UseRouting();app.UseSession();//需是注入sessionapp.UseAuthorization();app.UseEndpoints(endpoints=>{endpoints.MapControllerRoute(name:"default",pattern:"{controller=Home}/{action=Index}/{id?}");});}}}
8. 运行测试
经过以上步骤,登录功能已经做好,运行程序。然后数据账号密码,点击登录进行跳转,如下所示:
“C#怎么用ASP.NETCore开发学生管理系统”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
推荐阅读
-
.Net Core怎么解决WebAPI中返回时间格式带T的问题
-
ASP.NET怎么实现登出系统并清除Cookie
-
CentOS下怎么实现Mono和Asp.net
CentOS下怎么实现Mono和Asp.net这篇文章主要介绍“C...
-
ASP.NET的Core AD域登录过程怎么实现
ASP.NET的Core AD域登录过程怎么实现本文小编为大家详细...
-
ASP.NET MVC中两个配置文件的作用是什么
-
ASP.NET MVC过滤器执行顺序是什么
-
.NET Core如何使用Worker Service创建服务
.NET Core如何使用Worker Service创建服务这篇...
-
ASP.NET Core Zero模块系统的示例分析
ASP.NET Core Zero模块系统的示例分析这篇文章主要为...
-
基于NET Core的Nuget包制作、发布和运用方法
-
.Net Core服务治理Consul健康检查方法是什么