MVC自学系列之二(MVC控制器-Controllers)
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)的更多相关文章
- MVC自学系列之三(MVC视图-Views)
View的约定 1.根据约定,Views目录下包含着每一个与Controller同名但是没有像Controller后缀的文件夹:因此对于控制器HomeController就对应在views目录下有个目 ...
- MVC自学系列之一(MVC入门篇)
MVC是如何适用于ASP.NET中的 自从2002年ASP.NET 1.0版本的首次发布,就知道ASP.NET和Web Forms是同样一回事.ASP.NET由抽象两层类所支持: -->Sy ...
- MVC自学系列之四(MVC模型-Models)
ASP.NET MVC 提供了一系列工具和特性去使用仅仅定义的对象模型.你可以坐下来好好思考你将要解决的问题,并且写好C#类,当你准备好时就可以使用MVC提供的工具去为每一个实体构建标准的index. ...
- Asp.Net MVC学习总结(二)——控制器与动作(Controller And Action)
一.理解控制器 1.1.什么是控制器 控制器是包含必要的处理请求的.NET类,控制器的角色封装了应用程序逻辑,控制器主要是负责处理请求,实行对模型的操作,选择视图呈现给用户. 简单理解:实现了ICon ...
- Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解
一.控制器定义 控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现. 控制器解析用户的请求并将其转换为一个模型.在Spring MVC中一个控制器可以包含多个Action(动作. ...
- 《ASP.NET MVC企业实战》(二) MVC开发前奏
在上一篇“<ASP.NET MVC企业级实战>(一)MVC开发前奏”中记录了作者介绍的一些比较实用的VS使用方法以及C#2.0中添加的新特性.本篇继续大概了解之后版本的一些新特性. ...
- MVC学习系列3--怎么从控制器向视图传递数据
在MVC中,从控制器到视图,传递数据,可以使用 ViewData 和 ViewBag:同样从视图到控制器,传递数据,可以使用Post,QueryString,或者隐藏域:最后从控制器到控制器,传递数据 ...
- Javascript MVC 学习笔记(二) 控制器和状态
今天进入第二个部分:控制器. 控制器和状态 从以往的开发经验来看.我们都是将状态保存在server的session或者本地cookie中,但Javascript应用往往被限制在单页面,所以我们也能够将 ...
- MVC小系列(二十二)【MVC的Session超时,导致的跳转问题】
由于mvc内部跳转机制的问题,它只在当前的action所渲染的view上进行跳转,如果希望在当前页面跳,需要将mvc方法改为js方法: filterContext.Result = new Redir ...
随机推荐
- 仿QQ迷你首页(VC++,MFC)(迷你资讯)的开发与实现(源代码)
由于需求,需要写个类似QQ迷你资讯首页的东西,就花了一点时间写了写,软件效果截图如下: 程序的主要核心代码如下: 程序的全部源代码下载地址:http://download.csdn.net/downl ...
- python socket 模拟tcp通讯
对于tcp server 端的创建而言, 分为如下步骤: 1,创建socket对象(socket):其中俩个参数分别为 Address Family(如AF_INET为ipv4),AF_I ...
- oracle 11g 报错记录
1.ORA-01034: ORACLE not available sqlplus "sys/password as sysdba" 2.ORA-00119: invalid sp ...
- order by跟group by 跟having----------------sum() 求和 avg()求平均 count() 求个数--------------like
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoEAAACdCAIAAABEujUmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWX ...
- Table显示滚动条
Table显示滚动条,要先把table放到一个div中,div的长度和宽度要固定,控制overflow属性为scroll <div style="width:700px; height ...
- 学习java随笔第八篇:封装、继承、多态
java和c#一样都是面向对象的语言. 面向对象的语言有三大特征:封装.继承.多态 封装 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. class Perso ...
- [IO] C# FileOperateHelper文件操作类与源码下载
主要功能如下所示 源码预览 /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:[url]ht ...
- android使用adb installapk出现can't find **.apk to install
1. 有时候我们需要在使用ADT命令的adb安卓外部命令的时候出现下面的问题 出现上面的问题,其实是我们的apk方的文件不对,具体是什么问题怎么改路径我就没有深入研究了,.我查阅了好多资料才发现并不是 ...
- CI 笔记,借鉴的4个辅助自定义函数
在System的core的common.php中,借鉴的4个自定义函数, 摘自后盾网的CI教程 /** * 格式化打印函数 * @param [type] $arr [数组] * @return [t ...
- java加密类型和算法名称
项目里有各种加密方法,但从来没有仔细研究过.一般只是copy.这几天遇到一些问题,看了一下加密代码,觉得有些疑惑. 我们知道jdk已经为我们包装好了很多的算法.但究竟包装了哪些算法,怎么去掉这些算法我 ...