ASP.NET MVC控制器Controller
控制器的定义
- MVC模式下的控制器(Controller)主要负责响应用户的输入,并且在响应时可能的修改模型(Model)。
- 之前的URL访问,通常是通过指定服务器的路径来实现,如访问URL:http://www.example.com/hello.html ,是访问域名为http://www.example.com 这台服务器上面根目录下的hello.html文件,但MVC与之不同。URL首先告知路由机制实例化哪个控制器,调用哪个方法,并为该方法提供必要的参数;然后由控制器的方法来决定使用哪个视图,并负责对该视图进行渲染。因此,在ASP.NET MVC中,URL并不与存储在Web服务器磁盘上的文件有对应的关系。
- MVC提供的是方法调用的结果,而不是动态生成的页面。
简单示例:HomeController
- 新建一个默认的ASP.NET MVC项目
- 展开项目目录下的Controller子目录,将会看到名为HomeController控制器的类(HomeController.cs)。
- 可以看到,这个类继承自Controller基类,定位到About方法,将“Your application description page”修改为任意的短语,如“My application description page,hihihi~”
- 运行项目,浏览到/Home/About,查看结果。

创建控制器
右击Controller目录->添加->控制器->MVC 5 控制器 空->添加->键入控制器名称:StoreController->添加
此时控制器的类内只有Index方法,当浏览到/Store时,调用此Index方法,选择和渲染视图。
修改控制器内的方法:将Index方法返回值改为string,并将方法内的全部代码改为“return "Hello from Store.Index()";”。添加Browse和Details方法。完成后的控制器如下:
public string Index()
{
return "Hello from Store.Index()";
} public string Browse()
{
return Hello from Store.Browse()";
} public string Details()
{
return Hello from Store.Details()";
}
运行项目,浏览/Store,/Store/Browse,/Store/Details,查看结果。
总结:如上所示,只需要浏览到/Store就可以执行StoreController类中的Index方法,浏览到/Store/Detals就可以执行Details方法,这就是所谓的路由,所有的请求都是通过控制器进行处理;此外,判断一个类是否是控制器类的惟一方法是查看该类是否继承自System.Web.Mvc.Controller
ASP.NET MVC控制器Controller的更多相关文章
- ASP.NET MVC控制器Controller中参数
前述文章参见:ASP.NET MVC控制器Controller 绪论 之前的控制器返回的均为常量字符串,接下来展示如何获取请求传来的参数,而返回"动态"的字符串. 可以在操作方法B ...
- ASP.NET MVC 控制器激活(一)
ASP.NET MVC 控制器激活(一) 前言 在路由的篇章中讲解了路由的作用,讲着讲着就到了控制器部分了,从本篇开始来讲解MVC中的控制器,控制器是怎么来的?MVC框架对它做了什么?以及前面有的篇幅 ...
- ASP.NET MVC 控制器激活(二)
ASP.NET MVC 控制器激活(二) 前言 在之前的篇幅中,用文字和图像来表示了控制器的激活过程,描述的角度都是从框架默认实现的角度去进行描述的,这样也使得大家都可以清楚的知道激活的过程以及其中涉 ...
- ASP.NET MVC 控制器激活(三)
ASP.NET MVC 控制器激活(三) 前言 在上个篇幅中说到从控制器工厂的GetControllerInstance()方法来执行控制器的注入,本篇要讲是在GetControllerInstanc ...
- 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器
MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将 ...
- Asp.Net MVC 控制器
原文链接:http://www.asp.net/learn/mvc/ 这篇教程探索了ASP.NET MVC控制器(controller).控制器动作(controller action)和动作结果(a ...
- 详解ASP.NET MVC 控制器
1 概述 在阅读本篇博文时,建议结合上篇博文:详解ASP.NET MVC 路由 一起阅读,效果可能会更好些. Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务端的 ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 控制器
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- 使用Code First建模自引用关系笔记 asp.net core上使用redis探索(1) asp.net mvc控制器激活全分析 语言入门必学的基础知识你还记得么? 反射
使用Code First建模自引用关系笔记 原文链接 一.Has方法: A.HasRequired(a => a.B); HasOptional:前者包含后者一个实例或者为null HasR ...
随机推荐
- Oracle数据库分页查询的几种实现方法
没有Sql Server有top那么好用,但是Oracle含有隐藏的rownum列可以灵活使用,使实现分页效果,pageSize默认10行 方法一: select * from test where ...
- sparksql parquet 分区推断Partition Discovery
网上找的大部分资料都很旧,最后翻了下文档只找到了说明 大概意思是1.6之后如果想要使用分区推断就要设置数据源的basePath,因此代码如下 java public class ParitionInf ...
- jQuery Media Plugin 现在插上实线的视频播放服务
jQuery Media 一个简短的引论 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvWGluZ0tvbmcyMnN0YXI=/font/5a6L5L2T ...
- prettytensor 的使用
prettytensor 顾名思义,对原始的 tensorflow 下的 tensor 进行封装(prettytensor 以 tensorflow 为基础,二者搭配使用),使其成为一个更为接口友好的 ...
- hadoop 3.x 集群/单个节点的启动与停止
1.单个节点操作 启动|停止单个节点 hdfs --daemon start|stop datanode hdfs --daemon start|stop namenode 启动|停止单个节点的Nod ...
- 【63.63%】【codeforces 724A】Checking the Calendar
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- CUDA atomic原子操作
CUDA的原子操作可以理解为对一个变量进行"读取-修改-写入"这三个操作的一个最小单位的执行过程,这个执行过程不能够再分解为更小的部分,在它执行过程中,不允许其他并行线程对该变量进 ...
- echarts的一些基础笔记
图表标题 title: { x: "left", // 水平安放位置,默认为左对齐,可选为: // 'center' ¦ 'left' ¦ 'right' // ¦ {number ...
- Win7使用初体验
作者:朱金灿 来源:http://blog.csdn.net/clever101 最近装了个Win7旗舰版.随着年纪渐大,我对软件使用越来越趋于务实,不再追求最新版本,因为我评价一个好软件的标准是适用 ...
- 开始使用Material UI
Material-UI采用 Material Design风格的React UI组件,所以要想学习material ui先要了解react. material ui安装 Material-UI 可以使 ...