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 ...
随机推荐
- Load Balance Tomcat with Nginx and Store Sessions in Redis--reference
An awkward title, but that’s exactly what we’re going to do. For some time, I was looking for a way ...
- sql执行万条update语句优化
几个月没有更新笔记了,最近遇到一个坑爹的问题,顺道记录一下.. 需求是这样的:一次性修改上万条数据库. 项目是用MVC+linq的. 本来想着用 直接where() 1 var latentCusto ...
- 安卓Intent(显式)
1.Intent是Android程序中各组件之间交互的重要方式,一般可用于启动活动.启动服务.以及发送广播等场景,这里先对活动进行说明Intent的一些作用. 2.Intent的用法大致可分为,显式I ...
- C# Java DES加密解密
转自http://www.cnblogs.com/zhuiyi/archive/2013/04/01/2993201.html 最近被DES加解密弄得超级郁闷,我用C#的方法加密得到的密文老是跟客户给 ...
- VS编译出现 HTTP 错误 403.14 - Forbidden 决绝办法
决绝办法: 运行cmd命令,在控制台面板计入Iis Express目录下.运行提示的的就可以了 appcmd set config /section:system.webServe ...
- C#当中的多线程_线程基础
前言 最近工作不是很忙,想把买了很久了的<C#多线程编程实战>看完,所以索性把每一章的重点记录一下,方便以后回忆. 第1章 线程基础 1.创建一个线程 using System; usin ...
- MSSQL存储过程(好久的笔记,翻出来怀念下)
语法结构: create proc 名称 参数列表 as 代码段 调用: exec 存储过程名称 参数列表 要点: .可以使用output修饰参数 .可以使用默认值,注意需要将最后的参数设置成默认值 ...
- 深入理解shared pool共享池之library cache系列二
背景 继续上文:深入理解shared pool共享池之library cache系列一,学习library cache数据结构,本文主要学习library cache object(lco)的数据结构 ...
- window FILES——windows文件管理相关实例
C语言下有一套文件管理方案.C++语言下也有一套自己的文件管理方案.windows系统当然也有自己的一套文件管理方案啦.对于普通char类型为基础的字符使用哪种方案的解决办法都是一样的,但是对于宽字符 ...
- Python之练习Demo
遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果,代码如下: #coding:GBK import os; def SortList ...