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

MVC自学系列之二(MVC控制器-Controllers)的更多相关文章

  1. MVC自学系列之三(MVC视图-Views)

    View的约定 1.根据约定,Views目录下包含着每一个与Controller同名但是没有像Controller后缀的文件夹:因此对于控制器HomeController就对应在views目录下有个目 ...

  2. MVC自学系列之一(MVC入门篇)

      MVC是如何适用于ASP.NET中的 自从2002年ASP.NET 1.0版本的首次发布,就知道ASP.NET和Web Forms是同样一回事.ASP.NET由抽象两层类所支持: -->Sy ...

  3. MVC自学系列之四(MVC模型-Models)

    ASP.NET MVC 提供了一系列工具和特性去使用仅仅定义的对象模型.你可以坐下来好好思考你将要解决的问题,并且写好C#类,当你准备好时就可以使用MVC提供的工具去为每一个实体构建标准的index. ...

  4. Asp.Net MVC学习总结(二)——控制器与动作(Controller And Action)

    一.理解控制器 1.1.什么是控制器 控制器是包含必要的处理请求的.NET类,控制器的角色封装了应用程序逻辑,控制器主要是负责处理请求,实行对模型的操作,选择视图呈现给用户. 简单理解:实现了ICon ...

  5. Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解

    一.控制器定义 控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现. 控制器解析用户的请求并将其转换为一个模型.在Spring MVC中一个控制器可以包含多个Action(动作. ...

  6. 《ASP.NET MVC企业实战》(二) MVC开发前奏

    ​ 在上一篇“<ASP.NET MVC企业级实战>(一)MVC开发前奏”中记录了作者介绍的一些比较实用的VS使用方法以及C#2.0中添加的新特性.本篇继续大概了解之后版本的一些新特性.   ...

  7. MVC学习系列3--怎么从控制器向视图传递数据

    在MVC中,从控制器到视图,传递数据,可以使用 ViewData 和 ViewBag:同样从视图到控制器,传递数据,可以使用Post,QueryString,或者隐藏域:最后从控制器到控制器,传递数据 ...

  8. Javascript MVC 学习笔记(二) 控制器和状态

    今天进入第二个部分:控制器. 控制器和状态 从以往的开发经验来看.我们都是将状态保存在server的session或者本地cookie中,但Javascript应用往往被限制在单页面,所以我们也能够将 ...

  9. MVC小系列(二十二)【MVC的Session超时,导致的跳转问题】

    由于mvc内部跳转机制的问题,它只在当前的action所渲染的view上进行跳转,如果希望在当前页面跳,需要将mvc方法改为js方法: filterContext.Result = new Redir ...

随机推荐

  1. 仿QQ迷你首页(VC++,MFC)(迷你资讯)的开发与实现(源代码)

    由于需求,需要写个类似QQ迷你资讯首页的东西,就花了一点时间写了写,软件效果截图如下: 程序的主要核心代码如下: 程序的全部源代码下载地址:http://download.csdn.net/downl ...

  2. python socket 模拟tcp通讯

    对于tcp server 端的创建而言, 分为如下步骤:   1,创建socket对象(socket):其中俩个参数分别为     Address Family(如AF_INET为ipv4),AF_I ...

  3. oracle 11g 报错记录

    1.ORA-01034: ORACLE not available sqlplus "sys/password as sysdba" 2.ORA-00119: invalid sp ...

  4. order by跟group by 跟having----------------sum() 求和   avg()求平均   count() 求个数--------------like

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoEAAACdCAIAAABEujUmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWX ...

  5. Table显示滚动条

    Table显示滚动条,要先把table放到一个div中,div的长度和宽度要固定,控制overflow属性为scroll <div style="width:700px; height ...

  6. 学习java随笔第八篇:封装、继承、多态

    java和c#一样都是面向对象的语言. 面向对象的语言有三大特征:封装.继承.多态 封装 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. class Perso ...

  7. [IO] C# FileOperateHelper文件操作类与源码下载

    主要功能如下所示 源码预览 /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:[url]ht ...

  8. android使用adb installapk出现can't find **.apk to install

    1. 有时候我们需要在使用ADT命令的adb安卓外部命令的时候出现下面的问题 出现上面的问题,其实是我们的apk方的文件不对,具体是什么问题怎么改路径我就没有深入研究了,.我查阅了好多资料才发现并不是 ...

  9. CI 笔记,借鉴的4个辅助自定义函数

    在System的core的common.php中,借鉴的4个自定义函数, 摘自后盾网的CI教程 /** * 格式化打印函数 * @param [type] $arr [数组] * @return [t ...

  10. java加密类型和算法名称

    项目里有各种加密方法,但从来没有仔细研究过.一般只是copy.这几天遇到一些问题,看了一下加密代码,觉得有些疑惑. 我们知道jdk已经为我们包装好了很多的算法.但究竟包装了哪些算法,怎么去掉这些算法我 ...