MVC自学系列之二(MVC控制器-Controllers)

时间:2022-05-08 19:51:21

  Controllers的职责

1.MVC模式中的Controllers的职责是对用户的输入做出响应,对用户的输入在实体上做一些变化。它关心的是应用的流动,处理传入的数据,并给相关的View提供数据。

2.过去的日子里,web服务器通过在硬盘里存储静态文件来提供HTML页面;之后动态网页获得很高的声望,web服务器通过执行硬盘中动态的脚本来产生HTML。

3.MVC有些不同,通过路由机制判断controller类中将调用哪个action方法来执行,并且提供所需要的参数。接着,controller的方法来决定哪个view来使用,最后view来渲染HTML页面。

  创建第一个Controller

-->创建

创建一个名为AccountController的控制器,

将已有的Index方法进行修改并添加一个新的方法GetAccount

public string Index()
        {
            return "Hello from Account.Index()";
        }

public string GetAccount()
        {
            return "Hello from Account.GetAccount()";
        }

F5编译运行,在浏览器中URL后添加Account/GetAccount,发现HTML页面展示位Hello from Account.GetAccount

-->分析

①只是在浏览器访问/Account/GetAccount,就使得AccountController类中的GetAccount方法被执行。这就是路由行为

②我们通过VS工具创建一个控制器类,它只是一个简单的类,只不过它是继承了System.Web.Mvc.Controller类

③我们只是用了Controller,并没有使用到Model或是View(即使它们在ASP.NET MVC中也很有用),说明Controller是真正的核心,每一个请求都必须经过一个Controller

-->HttpUtility.HtmlEncode

用来审查用户的输入,这样可以阻止用户的javascript代码注入,或者是在我们的View中加入这样的链接/Account/GetAccount?ID=<script>window.location=’http://www.baidu.com’</script>

-->Controllers总结

Controllers是MVC应用程序的主导,它紧密策划与用户、实体对象以及视图的交互。它们有责任去响应用户的输入,维护适当的实体对象,并选择适当的视图来显示以响应用户最初的输入。