新的开始 接触ASP.NET Core跨平台的框架
今天我刚学习了使用Visual Studio 2015新建了.NET Core项目写了一个小的CSHTML代码。按我的话说就是,把C#和HTML合起来使用了,
写了一个简单的关于学生的“增” “删” “改" "查"的一系列的代码(只是一个简单的关于的学生的“增” “删” “改" "查"代码哦)。
今天可以说是我第一次接触CSHTML,学会了把简单的代码在网页上显示出来。
这种技术叫ASP.NET Core是一个全新的跨平台的框架,主要用于架构如Web应用等连接互联网的现代应用程序,可以在Windows上跨平台
开发和运行你的ASP.NET Core应用。
一开始就从数据库查询所须的条件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public IActionResult Index() { var list = new List<Dictionary< string , dynamic>>(); //用字典接收每一个事物的所有值 using ( var con = new SqlConnection( "server=.;database=MySchool;uid=sa;pwd=ljk123;" )) //连接数据库 { var cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = @"select StudentNo,StudentName,Sex,t2.GradeName from Student t1 ,Grade t2 where t1.GradeId= t2.GradeId" ; //按传递的Sql语句执行操作 con.Open(); var dr = cmd.ExecuteReader(); while (dr.Read()) { list.Add(Enumerable.Range(0, dr.FieldCount).ToDictionary(dr.GetName, dr.GetValue)); } //循环遍历 } ViewData[ "Persons" ] = list; //将遍历出来的值赋到ViewData["变量名"]中。 return View(); } |
然后在Imdex中按表单的形式查询所查学生的信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | < table border="0" title="添加"> < caption >添加信息</ caption > < tr > < th >学号</ th > < th >姓名</ th > < th >性别</ th > < th >年级</ th > </ tr > < tr > < td imput type=text></ td > < td imput type=text></ td > < td imput type=text></ td > < td imput type=text></ td > </ tr > </ table > < table class="table table-bordered table-hover table-condensed table-responsive table-striped"> < thead > < tr > < th >学号</ th > < th >姓名</ th > < th >性别</ th > < th >年级</ th > < th >操作</ th > </ tr > </ thead > < tbody > @foreach (var item in ViewData["Persons"] as System.Collections.Generic.List< Dictionary <string,dynamic>>) { < tr > < td >@item["StudentNo"]</ td > < td >@item["StudentName"]</ td > < td >@item["Sex"]</ td > < td >@item["GradeName"]</ td > < td > < a class="btn btn-success" href="/home/modify?bh=@item["StudentNo"]">修改</ a > < button class="btn btn-danger" onclick="deletestu('@item["StudentNo"]')">删除</ button > </ td > </ tr > } </ tbody > </ table > |
然后在HomeController中添加学生信息(Get Post)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [HttpGet] public IActionResult Add() { ViewData[ "Message" ] = "Your application description page." ; return View(); } [HttpPost] public IActionResult Add( string mc, string bh, string gen, int nj) { var list = new List<Dictionary< string , dynamic>>(); //用字典接收每一个事物的所有值 using ( var con = new SqlConnection( "server=.;database=MySchool;uid=sa;pwd=ljk123;" )) //连接数据库 { var cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = $ @"insert into Student(StudentNo,StudentName,Sex,GradeId) values('{bh}','{mc}','{gen}',{nj})" ; //按传递的Sql语句执行操作 con.Open(); var dr = cmd.ExecuteNonQuery(); if (dr > 0) { return Redirect( "/home/index" ); } else { ViewData[ "Message" ] = "添加失败!" ; return View(); } } } |
在add按表单排版,"添加"新的学生信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | < form method="post" action="/home/add"> < p >学生编号:< input name="bh" class="form-control" type="text"></ p > < p >学生姓名:< input name="mc" class="form-control" type="text"></ p > 性       别: < input name="gen" type="radio" class="input" value="男" checked="checked">男 < input name="gen" type="radio" class="input" value="女">女 < br /> 年       级: < select name="nj"> < option value="1">S1</ option > < option value="2">S2</ option > < option value="3">Y2</ option > < option value="1" selected="selected">S1</ option > </ select > < br />< br />                       < input type="reset" name="Reset" value="重填">     < input type="submit" name="Submit" value="提交"> </ form > @ViewData["Message"] |
在HomeController中修改学生信息(Get Post)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | [HttpGet] public IActionResult Modify( string bh) { ViewData[ "Message" ] = "Your contact page." ; Dictionary< string , dynamic> dic = null ; using ( var con = new SqlConnection( "server=.;database=MySchool;uid=sa;pwd=ljk123;" )) //连接数据库 { var cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = $ @"select StudentNo,StudentName,Sex,GradeId from Student where StudentNo= '{bh}'" ; //按传递的Sql语句执行操作 con.Open(); var dr = cmd.ExecuteReader(); while (dr.Read()) { dic = (Enumerable.Range(0, dr.FieldCount).ToDictionary(dr.GetName, dr.GetValue)); } //循环遍历 } ViewData[ "Person" ] = dic; //将遍历出来的值赋到ViewData["变量名"]中。 return View(); } [HttpPost] public IActionResult Modify( string mc, string bh, string gen, int nj) { var list = new List<Dictionary< string , dynamic>>(); //用字典接收每一个事物的所有值 using ( var con = new SqlConnection( "server=.;database=MySchool;uid=sa;pwd=ljk123;" )) //连接数据库 { var cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = $ @"update Student set StudentNo = '{bh}',StudentName='{mc}',Sex='{gen}',GradeId='{nj}' where StudentNo = '{bh}'" ; //按传递的Sql语句执行操作 con.Open(); var dr = cmd.ExecuteNonQuery(); if (dr > 0) { return Redirect( "/home/index" ); } else { ViewData[ "Message" ] = "更新失败!" ; return View(); } } return View(); } |
通过把学生的编号传过去修改
1 | < a class="btn btn-success" href="/home/modify?bh=@item["StudentNo"]">修改</ a > |
在Midify中排版修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | < form method="post" action="/home/Modify"> < p >学生编号:< input name="bh" class="form-control" disabled="disabled" type="text" value="@((ViewData["Person"] as Dictionary<string, dynamic>)["StudentNo"])"></ p > < p >学生姓名:< input name="mc" class="form-control" type="text" value="@((ViewData["Person"] as Dictionary<string, dynamic>)["StudentName"])"></ p > 性       别: @if ((ViewData["Person"] as Dictionary< string , dynamic>)["Sex"] == "男") { < input name="gen" type="radio" class="input" value="男" checked="checked">< span >男</ span > < input name="gen" type="radio" class="input" value="女">< span >女</ span > } else { < input name="gen" type="radio" class="input" value="男">< span >男</ span > < input name="gen" type="radio" class="input" value="女" checked="checked">< span >女</ span > } </ br >年       级: < select name="nj"> @if ((ViewData["Person"] as Dictionary< string , dynamic>)["GradeId"] == 1) { < option value="1" selected="selected">S1</ option > < option value="2">S2</ option > < option value="3">Y2</ option > } else if (((ViewData["Person"] as Dictionary< string , dynamic>)["GradeId"] == 2)) { < option value="1">S1</ option > < option value="2" selected="selected">S2</ option > < option value="3">Y2</ option > } else { < option value="1">S1</ option > < option value="2">S2</ option > < option value="3" selected="selected">Y2</ option > } </ select > < br />< br /> < input type="reset" name="Reset" value="重填"> < input type="submit" name="Submit" value="提交"> </ form > |
最后是删除了通过接收到的编号进行删除
1 | < button class="btn btn-danger" onclick="deletestu('@item["StudentNo"]')">删除</ button > |
在HomeController中删除学生信息(post)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [HttpPost] public string Delete( string bh) { ViewData[ "Message" ] = "Your contact page." ; using ( var con = new SqlConnection( "server=.;database=MySchool;uid=sa;pwd=ljk123;" )) //连接数据库 { var cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = $ @"delete from Student where StudentNo= '{bh}'" ; //按传递的Sql语句执行操作 con.Open(); var dr = cmd.ExecuteNonQuery(); if (dr > 0) { return "删除成功!" ; } else { return "删除失败!" ; } } } |
最后在用AJAX进行删除
1 2 3 4 5 6 7 8 9 10 11 12 | <script> //定义客户端脚本 function deletestu(bh) // function 功能,作用; { if (confirm( "确定要删除吗?" )) { $.post( "/home/delete" , { bh: bh }, function (result) { alert(result); window.location.href= "/home/index" ; }) } } </script> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言