【MVC】Controller的使用
1,控制器中所有的动作方法必须声明为public,如声明为private或protected,将不被视为动作方法。
如果将Action声明为private,或者是添加[NonAction]属性,则不对外公开,无法访问。

private ActionResult Index()
{
return View(db.Guestbooks.ToList());
} protected override void HandleUnknownAction(string actionName)
{
Response.Redirect("http://www.baidu.com");
}

代码中Index为私有方法,无法访问,如果在浏览器中输入http://localhost:5502/guestbook/Index,那么将跳转到百度首页,因为我们重写了HandleUnknownAction方法。
2,可以创建两个同名的Action,取不同的HTTP动作方法选择器,如[HttpGet]/[HttpPost],前者用于显示HTML窗体,后者用来接收窗体输出的值。
控制器负责处理浏览器的所有请求,并决定响应什么属性给浏览器(注意不是如何响应,是响应什么,如何响应是View的关注点),控制器还负责协调Model与View的数据传递。控制器中存在多种传递数据给视图的方式,比如ViewData["key"]=value。ViewData是一个ViewDataDictionary对象,实现了接口IDictionary<string, object>,所以在设置ViewData属性时,传入的key必须为字符串类型。
比如说ViewData.Model,也就是之前常用的强类型视图。
比如说ViewBag,ViewBag被声明为dynamic动态类型,对ViewBag的任何访问动作,最终还是对ViewData来进行操作,二者唯一的差别是ViewBag是动态类型。
代码:ViewBag.key=value; 可以看出ViewBag是ViewData的语法糖。
TempData也是字典型别,与ViewData不同,TempData用session保存信息,TempData一般与RedirectResult配合使用,只要有取用TempData的值,值在当次网页要求就被清除。
出处:https://www.cnblogs.com/SharpL/p/4594128.html
【MVC】Controller的使用的更多相关文章
- .NET/ASP.NET MVC Controller 控制器(IController控制器的创建过程)
阅读目录: 1.开篇介绍 2.ASP.NETMVC IControllerFactory 控制器工厂接口 3.ASP.NETMVC DefaultControllerFactory 默认控制器工厂 4 ...
- MVC Controller Dependency Injection for Beginners【翻译】
在codeproject看到一篇文章,群里的一个朋友要帮忙我翻译一下顺便贴出来,这篇文章适合新手,也算是对MEF的一个简单用法的介绍. Introduction In a simple stateme ...
- ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”
ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”,这在给定的上下文中无效 这是一个与Controller.F ...
- Spring MVC Controller中解析GET方式的中文参数会乱码的问题(tomcat如何解码)
Spring MVC Controller中解析GET方式的中文参数会乱码的问题 问题描述 在工作上使用突然出现从get获取中文参数乱码(新装机器,tomcat重新下载和配置),查了半天终于找到解决办 ...
- 转:【Spring MVC Controller单例陷阱】
http://lavasoft.blog.51cto.com/62575/1394669/ Spring MVC Controller默认是单例的: 单例的原因有二:1.为了性能.2.不需要多例. 1 ...
- MVC Controller 链接到 API Controller 以及反向链接
MVC Controller 链接到 API Controller 以及反向链接 问题 想创建一个从 ASP.NET MVC controller 到 ASP.NET Web API controll ...
- Spring MVC Controller单例陷阱
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lavasoft.blog.51cto.com/62575/1394669 Spr ...
- Spring MVC Controller中GET方式传过来的中文参数会乱码的问题
Spring MVC controller 这样写法通常意味着访问该请求,GET和POST请求都行,可是经常会遇到,如果碰到参数是中文的,post请求可以,get请求过来就是乱码.如果强行对参数进行了 ...
- Spring MVC Controller 单元测试
简介 Controller层的单元测试可以使得应用的可靠性得到提升,虽然这使得开发的时间有所增加,有得必失,这里我认为得到的比失去的多很多. Sping MVC3.2版本之后的单元测试方法有所变化,随 ...
- .net Mvc Controller 接收 Json/post方式 数组 字典 类型 复杂对象
原文地址:http://www.cnblogs.com/fannyatg/archive/2012/04/16/2451611.html ------------------------------- ...
随机推荐
- python-day42--单表查询
1. 简单查询select * from employee;select name,salary from employee; 2. where条件 1.比较运算符:> &l ...
- python-day32--进程--->socker并发
一.进程背景 1.进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 2.进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有 ...
- ZOJ-3329 One Person Game (有环期望问题)
题目大意:有3个骰子,各有k1,k2,k3个面,面值为1~ki.还有一个计数器,初始值为0,统计所有的面值和.每次同时置这三个骰子,如果第一个骰子的朝上的值为a.第二个值为b.第三个值为c,那么将计数 ...
- HDU-1232 畅通工程 (并查集、判断图中树的棵数)
Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相 ...
- dp练习(7)—— 最小和
3415 最小和 CodeVS原创 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 青铜 Bronze 题解 题目描述 Description 小浣熊松松来到文具店, ...
- ES批量索引写入时的ID自动生成算法
对bulk request的处理流程: 1.遍历所有的request,对其做一些加工,主要包括:获取routing(如果mapping里有的话).指定的timestamp(如果没有带timestamp ...
- kill word out 1
1● de 使~~ 成为 :离开 ,去掉,向下,变慢 2● dif 不,分开 ,否定,离开 3● deci 十分之一 4● deca 向下,离开 5● deca 十 6● di ...
- docker(三)反正我不喜欢敲命令,daocloud.io管理你的docker,安装远程下载工具aria2 迅雷远程下载 xware
1.登录daocloud.io 2.寻找合适的镜像 3.查看镜像信息并部署,它给出了一个运行命令,其中有用的只是-V,目录映射,映射了物理服务器的/tddownload到容器的/xware/tddow ...
- MyEclipse关联SVN下载项目到本地
目的:在MyEclipse上关联SVN,从SVN服务器上,下载项目,到本机的MyEclipse上,并运行 准备工作 1.安装好Tomcat和MyEclipse 2.安装好Plsql,并配置连接好Ora ...
- java修饰符的作用范围
访问修饰符: private 缺省 protected public 作用范围: private 被private修饰的属性和方法,不能被其他类访问,子类不能继承也不能访问.只能在所在类内部访问.缺省 ...