MVC的增删查改

四, ASP.NET MVC Areas 区域
Areas 是 ASP.NET MVC 用来将相关功能组织成一组单独命名空间(路由)和文件夹结 构(视图)的功能
Areas 是 ASP.NET MVC 用来将相关功能组织成一组单独命名空间(路由)和文件夹结 构(视图)的功能。使用 Areas 创建层次结构的路由,是通过添加另一个路由参 数 area 到 Controller 和 action。
Areas 提供了一种把大型 ASP.NET Core MVC Web 应用程序分为较小的功能分组的方 法。Area 是应用程序内部一个有效的 MVC 结构。 在 MVC 项目中,像 Model,Controller 和 View 的逻辑组件放在不同的文件夹中, MVC 用命名约定来创建这些组件间的关系。 对于大型应用,它有利于把应用分割成独立高级功能的 Areas。 例如,一个多业务单元的电子商务应用,如结账,计费和搜索等。每个单元都有自己的 逻辑组件:视图、控制器和模型。在这种情况下,你可以用 Areas 在同一项目中物理分割 业务组件。

五,飞机订票用到的正则表达式
邮箱的简单认证
/^([a-zA-Z]|[0-9])(\w|-)+@@[a-zA-Z0-9]+.([a-zA-Z]{2,4})KaTeX parse error: Undefined control sequence: \- at position 15: / 只能输入两个小数 /^(\̲-̲)*(\d+)\.(\d\d)…/, ‘$1$2.$3’
在c#里面\代表转译字符 在c#中使用\时需要\两个斜杠来进行转译
要进行两次转译
六,控制器事务方法
using现在的代表的是释放
scope相当于监视try里面的代码数据,是否出现问题,一直到代码执行完就释放
using (TransactionScope scope = new TransactionScope()){
事务一般结合try catch来使用
}
scope.Complete();提交事务
代码执行完后要提交事务,不然执行的代码无法使用。在成功时调用
—数据新增
页面数据传递到控制器
window.location.replace(@Url.content(“路径”));
1,获取要保存到数据库的数据
2,验证这些数据的格和是否不为空
3,提交数据到控制器
并把要保存的数据一并提交
$.post(@Url.content(“路径”),
{
需要保存的数据,获取的页面数据
},
function(msg){
判断控制器的数据是否执行成功,如果执行成功就提示
if(msg.state){
数据新增成功
}eles{
执行不成功就,把控制器的msg.text返回到页面
}
})
在控制器执行时,也要把页面写的数据验证格式,是否非空,是否为null,是否为undefined……
为了保证数据的严谨性,一般在页面写完验证后,控制器也要重复写一边。
!string. IsNullOrEmpty©;//意思就是c不为空
-------数据修改,数据修改时要有一个修改数据的条件,条件一般是ID
修改和新增的操作大致相同
控制器把要修改的内容查询出来,传递到页面
return Json(A,JsonRequestBehavior.AllowGet);A就是要传递到页面的数据,
而页面要获取到控制器传递过来的数据需要用post接收
$.post(控制器的路径),{修改需要的条件ID},function(jsondata){
进行数据的回填
}
和新增一样保存修改
--------删除数据
提示用户是否确定要删除数据,一般删除工作时要写的功能,避免用户误删数据。
layer.confirm(“您确认要删除吗”, { icon: 3, title: “提示” }, function (index) {
ayer.close(index)
})
当用户点击了确定时,才进行删除操作,返回要删除的数据到控制器
控制器要判断要删除数据是否大于>0
把数据库要删除的数据查询出来
判断当前删除的数据是否正在使用中,如果count长度为0,就执行删除的操作。
------分页

  • VO是value object的缩写;
  • 作用:它是为了页面显示取值方便。所以将数据封装为一个对象。这对象也就是我们说的VO;
  • VO则主要用于逻辑层(Controllers)和表示层(Views)之间数据处理封装。
    Skip表示从第几条数据开始,也就是说在这之前有多少条数据
    Take的意思是显示多少条数据,也就相当于我们常用的pagesize
    举例:Skip(1).Take(4)
    上面这段语句的意思是从第二条数据开始显示4条
    ViewData
    ViewData 是一个特殊的字典类的名称,我们可以用标准的字典语法进行修改或赋值,比如: ViewData[“Name”] = “Jack”;
    ViewBag
    ViewBag 是 asp.net mvc3 中对 ViewData 的一种动态封装,用法更方便。他的赋值方法是:
    ViewBag.Name = “Jack”; 也就是说 ViewData[“Name”] 和 ViewBag.Name 是一样的效果。
    ViewBag 和 ViewData 的区别
    虽说用 ViewBag 来代替 ViewData 使用着更快捷,但是相对于 ViewData 来说,ViewBag 还 是有一些不能用的地方: 1.ViewBag 要访问的必须是一个有效的标识符,否则无效。比如:ViewData[“Query Income”] 就不能使用 ViewBag 来访问。因为“Query Income”中有无效的 C#标识符 空格。

2.动态值不能作为一个参数传递给扩展方法。因为 C#为了选择正确的扩展方法规定必须标 明每一个参数的类型。如果参数中有任何一个参数是动态的就无法通过编译。比如:
@Html.TextBox(“Name”,ViewBag.Name)就会编译失败。
解决方法:
② 将 ViewBag.Name 替换为 ViewData[“Name”];
② 把 ViewBag.Name 替换为一个具体类型的参数:(string)ViewBag.Name;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值