.net中MVC的创建详解.docx

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.net中MVC的创建详解.net中MVC的创建详解

传统的MVC概念模型:组类,描述了要处理的数据以及修改和操作数据的业务规则视图:定义应用程序用户界面的显示方式控制器:一组类,用来处理来自用户,整个应用程序流以及特定应用程序逻辑的通信MVC在web框架中的应用模型:模型是描述程序设计人员感兴趣问题域的一些类,这些类通常封装存储在数据库中的数据,以及操作这些数据和执行特定域业务逻辑的代码。在ASP.NET MVC中,模型就像是一个使用了某个工具的数据访问层,包括实体框架。视图:一个动态生成HTML页面的模板控制器:一个协调视图和模型之间关系的特殊类。它响应用户输入,与模型进行对话,并决定呈现哪个视图。约定优于配置控制器MVC中的控制器主要用来响应用户的输入,并且在响应时通常会修改模型.通过这种方式MVC关注的是应用程序流.输入数据的处理.以及对相关视图输出数据的提供.在MVC中,URL告诉路由机制去实例化哪个控制器,调用哪个操作方法,然后决定使用哪个视图.MVC提供的是方法调用的结果,而不是动态生成的页面.整个项目的结构HomeControler:负责网站根目录下的”home page”和”about page”AccountControler:响应与账户相关的请求,比如登陆和账户注册public class HomeController : Controller{public ActionResult Index(){ViewBag.Message = 欢迎使用 ASP.NET MVC!;return View();}opublic ActionResult About(){return View();}}这个类非常的简单,继承与Controler基类,HomeControler类的Index方法负责决定当浏览网站首页时触发的事件。控制器一般以Controller结尾public class StoreController : Controller{//// GET: /Store/public string Index(){return Hello from Store.Index();}public string Browse(){return Hello from Store.Browse();}public string Details(string name){return Hello from Store.Details():Name+name;}}Controller URL操作中的参数./Store/Browse?name=liuzhongdongpublic string Details(string name){return Hello from Store.Details():Name+name;}Name可以自动检测。return HttpUtility.HtmlEncode(Hello from Store.Details():Name+name);利用实用方法HttpUtility.HtmlEncode来预处理用户输入。这能阻止用户向视图中用链接注入JavaScript代码或者html标记。也可以使用/Srore/Deatails/5,URL路由可以自动检测到值。控制器就好像是浏览器再直接调用控制器类中的方法。类方法和参数都被具体化为URL中特定路径片段或查询字符串,结果就是一个返回给浏览器的字符串。这就进行了极大的简化,而忽略了下面这些细节:l 路由将URL映射到操作的方式l 将试图作为模板生成向浏览器返回的字符串(通常是html格式)l 操作很少返回原始的字符串,它通常返回合适的ActionResult来处理像HTTP状态码和调用视图模板系统这样的事项。视图视图的职责是向用户提供用户界面。向它提供对模型的引用后,它会将模型转换为准备提供给用户的格式。在ASP.NET MVC中,这个过程由两部分组成。第一个部分是检查由控制器提交的ViewDataDictionary(通过ViewData)属性访问。另外一部分是将其内容转换为HTML格式。视图并不一定只是渲染html,视图还可以渲染其他的内容。从ASP.NET MVC3开始,视图数据可以通过ViewBag属性访问。ViewBag属性是动态的,它语法简单,可以通过访问ViewData属性访问的相同数据。它是一个高效地利用C#4中新的dynamic关键字的封装器,其中封装了ViewData。这样就可以使用类似属性访问的方法来检索字典中的数据。所以ViewBag.Message就等同于ViewData[“Message”]注意:如果在ViewData[“ this is a key”]中存放一个值,那么将不能使用ViewBag访问这个值。另外应该知道的一点是,这个动态的值不能作为一个参数传递给扩展方法。

文档评论(0)

kxiachiq + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档