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 ...
随机推荐
- 【b302】侦探推理
Time Limit: 1 second Memory Limit: 50 MB [问题描述] 明明同学最近迷上了侦探漫画<柯南>并沉醉于推理游戏之中,于是他召集了一群同学玩推理游戏.游戏 ...
- vim note (2)
:e edit :edit edit :e. edit current file '.' a dot is means current : w writ ...
- PhoneGap Html5 App 横竖屏切换自动退出
将以下内容添加到 AndroidManifest.xml 文件的 activity 标签中: android:configChanges="orientation|keyboardHidde ...
- Jsp bug_001
报错: The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解 ...
- 新建py文件时取名千万要小心 不要和已有模块重名
这是因为我新建了一个email.py的文件 后来我将文件名rename成了myemail.py没有看改名提示,结果导致所有的对email的import和调用全部改成了对myemail的import和调 ...
- WPF中的3D特性和常见的几个类
原文:WPF中的3D特性和常见的几个类 WPF 3D 常用的几个类及其关系 1. Visual 类 所有二维可视化元素的基类,为 WPF 中的呈现提供支持,其中包括命中测试.坐标转换和边界 ...
- POCO文档翻译:POCO C++库入门指南
内容目录 介绍 Foundation库 XML库 Util库 Net库 将这些东西组合到一起 介绍 POCO C++库是一组开源C++类库的集合,它们简化及加速了用C++来开发以网络功能为核心的可移植 ...
- 卷积、卷积矩阵(Convolution matrix)与核(Kernel)
在图像处理领域,Kernel = convolution matrix = mask,它们一般都为一个较小的矩阵: 用于:Sharpen,Blur, Edge enhance,Edge detect, ...
- Emgu-WPF学习使用-识别二维码的位置
原文:Emgu-WPF学习使用-识别二维码的位置 参考链接:http://blog.csdn.net/gaobobo138968/article/details/47663607 我完全参 ...
- 【转载】使用Docker Hub官方gcc:latest镜像编译C/C++程序以及缩小镜像的方法
摘要:使用Docker Hub官方gcc:latest镜像(1.2GB)编译C/C++程序,以及缩小镜像的方法. 方法1: 在gcc容器里编译C/C++程序 将C/C++代码运行在gcc容器内的最简单 ...