MVC注意点

来源:互联网 发布:预科生的网络电影 编辑:程序博客网 时间:2024/06/05 17:36

MVC注意点

1、 控制器类中包括的任何一个公共函数都被当做一个控制器行为暴露在外,注意,控制器行为时暴露给所有人的,任何人都可以在他们的浏览器地址栏中输入正确的URL来调用控制器行为,因此,当你不想让函数为公共调用就不要将其创建成公共函数。

控制器行为返回一个行为结果(ActionResult),一个行为结果代表行为所做的事情。

2、 一个URL不等于一个页面

     当你构建一个传统的ASP.NETWeb窗体应用程序或ASP应用程序时,一个URL就对应一个页面,它们是一对一的关系,如果你向服务器请求一个名为SomePage.aspx的页面,那么在硬盘上都有一个文件的名字叫做SomePage.aspx,如果不存在这个文件,就会返回一个404-Page Not Found的错误。

在构建ASP.NET MVC应用程序时,URL和页面就不是一一对应关系了,ASP.NET MVC应用程序中,一个URL对应一个控制器行为,而不是硬盘上的一个页面文件。

在传统ASP.NETASP应用程序中,浏览器请求被映射到页面,在ASP.NET MVC应用程序中,浏览器请求映射到控制器行为,ASP.NET应用程序是以内容为中心,相反,ASP.NET MVC应用程序是以应用逻辑为中心

3、 理解MVC模型

MVC模型包括应用程序的所有逻辑,这些逻辑在视图和控制器都是没有的,模型(Models)应该包括应用程序所有的业务逻辑和数据库访问逻辑。

视图应该只包括与用户接口有关的逻辑,控制器应该只包括暴露给请求返回正确视图的最小逻辑或将用户重定向到另一个控制器行为的逻辑,除此之外,其他任何逻辑都应该包括在模型中。通常,应该为控制器减肥,为模型增肥。控制器方法应该只包括很少的代码。

4、 ASP.NET MVC框架支持六个标准类型的行为结果:

l        视图结果(ViewResult):表示HTML和标记

l        空结果(EmptyResult):表示没有结果

l        重定向结果(RedirectResult):表示重定向到一个新的URL

l        重定向到路由结果(RedirectToRouteResult):表示重定向到一个新的控制器行为。

l        JsonResult:表示可以用于AJAX应用程序的JavaScript对象标记结果。

l        内容结果(ContentResult):表示一个文本结果

大多数情况下,返回视图结果。

正常情况下,调用下面的控制器基础类方法:

l        View:返回一个ViewResult行为结果

l        Redirect:返回一个RedirectResult行为结果

l        RedirectToAction:返回一个RedirectToActionResult行为结果

l        RedirectToRoute:返回一个RedirectToRouteResult行为结果

l        Json:返回一个JsonResult行为结果

l        Content:返回一个ContentResult行为结果