添加控制器

来源:互联网 发布:梦断紫禁城知乎 编辑:程序博客网 时间: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代码。这将是下一章节的内容。


原创粉丝点击