添加控制器

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代码。这将是下一章节的内容。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值