MVC认识

1.ASP.NET两种开发模式的简单比较(WebForm和MVC)(1)WebForm开发模式当用户输入网址https://i.cnblogs.com/EditPosts.aspx?opt=1进行请求服务器的时候,服务器首先会判断是否存在这个页面,然后就会找到相应的页面,处理相应的代码,也就是执行(.cs文件),然后通过这个文件程序访问数据库,将用户需要的内容读取出来,然后返回到用户访问的页面。所以WebForm 的开发模式就是通过URL访问服务器上对应的(ASPX)文件,并将codeBehind代码的处理结果返回给用户的过程。(2)MVC开发模式当用户输入网址https://i.cnblogs.com/home/Index,这个网址并不是映射相应的文件处理程序,而是将其交个Controller对请求的逻辑进行处理,找到Controller下的相应的行为,然后返回对应View给客户端。 对于WebForm开发模式,微软提供了大量的服务端控件,可以快速上上手,开发效率快,但是由于封装的比较厉害,很多底层的原理不是很明了,对于UI层来说aspx和aspx.cs这两个文件一个是页面展示,一个后台逻辑,他们是父子关系,所以具有较强的耦合性MVC:M:model V:View  C:controller,通常认为MVC只是UI层的逻辑分块,此时的Model也就是VIewModel,但是通常在架构的使用的时候,将这个Model同时也用在其他例如DAL和BLL层,MVC将控制器逻辑和页面的展示View进行了解耦,降低 耦合性 2.MVC的简单的使用前台:(Register对应的View)
 用户名:  密码:
后台HomeControllerpublic ActionResult Register{  reutrn View();}public ActionResult AddUser(){  string name =Request["userName"];  ...... int result= dbContext.SaveChanged();if(result>0){ return Content("t添加成功");}else{  return Content("添加失败");}}对于控制器中的行为获取表单中的数值,MVC提供了很多遍历的方式,就是可以将AddUser改造为public ActionResult AddUser(string userName,string pwd){  此时userName和pwd变量就可以直接使用,MVC会进行处理,也就是将form表单的数据与参数变量对应      需要注意:参数变量的名称一定要和表单中的名称一致}public ActionResult AddUser(User user){  此时user会和MVC中的Model进行对应,所以要求表单中数据的命名一定要和Model中定义的变量名称是一致的。}从上面的两种方式可以大大简化了开发人员的操作,同时可以发现在MVC中存在着许许多多的约束,这些约束标准,代替了频繁的配置,只有按照约束,MVC才可以更加的得心应手的使用,方便开发人员开发。 3.ActionResult这是一个父类型,它的常用的子类型有:ViewResult(return View())、ContentResult( return Content("ss"))、RedirectResult(return Redirect("url")或者return RedirectToAction(控制器,行为))等 备注2:本人只是刚开始学MVC,欢迎批评指正

相关内容推荐