添加控制器
来源:互联网 发布:梦断紫禁城知乎 编辑:程序博客网 时间:2024/04/29 07:44
By Rick Anderson | August 28, 2012 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller
翻译:fxx3344 在 csdn博客
MVC全称为 model-view-controller。MVC 是软件工程中的一种软件架构模式,他易于测试和维护。MVC把软件系统分为三个部分:
- 模型Model:描述程序数据模型的类,以及实施合适的业务规则的类
- 视图View:用于动态的生成Html内容的模板文件
- 控制器Controller:一个类库,用于处理浏览器请求、取得合适的模型数据及使用合适的视图模板生成Html内容
现在,先创建一个控制器类。在解决方案资源管理器中,右键单击 Controllers 文件夹并选择添加 控制器
控制器的名称为“HelloWorldController”。模板使用默认的选项空MVC控制器,单击添加。
可以在解决方案资源管理器中看到,有一个名字为HelloWorldController.cs的文件被创建。此文件已经在工作去被打开。
按照如下方式修改代码。
using System.Web;using System.Web.Mvc; namespace MvcMovie.Controllers { public class HelloWorldController : Controller { // // GET: /HelloWorld/ public string Index() { return "This is my <b>default</b> action..."; } // // GET: /HelloWorld/Welcome/ public string Welcome() { return "This is the Welcome action method..."; } } }
这个控制器 的方法会返回一个字符串,作为Html响应。控制的名字是HelloWorldController,第一个方法是Index。按下F5或Ctrl+F5,运行程序。在浏览器的地址栏中,将“HelloWorld”加在地址的后面。浏览器会呈现下面截图的效果。在这个方法直接返回了一个字符串作为Html响应,就如代码中所写的。
ASP.NET MVC根据接收到的Url调用相应的控制器(以及控制器中相应的方法)。ASP.NET MVC使用如下的规则,判断应该调用那些代码:
/[Controller]/[ActionName]/[Parameters]
第一个节点用于确定控制器。所以/HelloWorld映射到了类HelloWorldController。
第二个节点用于确定被调用的方法。所以/HelloWorld/Index会执行Index方法。需要注意的是,Index可以作为控制器默认的方法被调用;即如果Url的第二个节点空缺,那么Index方法会被使用,正如上面的运行结果一样。
在浏览器中输入http://localhost:xxx/HelloWorld/Welcome,方法Welcome会被调用;在浏览器中会显示一个字符串“This is the Welcome action method...”。
第三个节点是输入的参数值。这里对方法Welcome做一些修改,使他可以接受两个参数输入。ASP.NET MVC model binding system会自动将Url的Query String绑定到对应的方法参数上。
public string Welcome(string name, int numTimes = 1) { return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes);}在地址栏中输入http://localhost:xxx/HelloWorld/Welcome?name=Scott&numtimes=4,显示结果如下
在上面的示例中,控制器行使了 控制器和视图的职责。控制器直接返回了Html代码。一般情况下,控制器不应直接返回Html代码;当界面更加复杂是,你很难写出正确的代码,也很难维护。解决的方式就是使用视图模板来生成Html代码。这将是下一章节的内容。
- 添加控制器
- 02、添加一个控制器
- MVC添加一个控制器
- 【MVC5】2.添加控制器
- storyboard添加导航控制器
- 控制器添加悬浮窗
- IOS 添加子控制器
- 控制器添加控制器的view的方法
- iOS添加子视图控制器
- 把子控制器添加到导航控制器中的四种方法
- 视图控制器上添加另一个控制器的View
- iOS开发之使用addChildViewController:给控制器添加子控制器
- 移除当前控制器 并添加新的控制器
- NOX控制器添加自定义应用的方法
- ASP .NET MVC5 添加一个控制器
- 添加视图控制器间的关系
- sonarqube添加新的控制器的步骤
- 怎么向控制器里面添加一些方法
- 【备忘】linux指令
- ORA-28000: the account is locked的解决办法
- 程序员终极武器
- 指针和引用(int*、int&、int*&、int&*、int**)
- POJ 2375 Cow Ski Area
- 添加控制器
- 如何QQ截图工具抓取鼠标右键菜单
- 输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。
- PHP学习(2)----配置虚拟主机作业
- 《UML软件建模技术》企业内训课程大纲
- Java连接oracle的两种方式详解
- linux文件属性及权限详解
- Ant入门教程
- C#线程