ASP.NET MVC3-第02节-添加一个Controller (C#)

  前言

  ----------------------------

  第01节[翻译]01-ASP.NET MVC 3介绍

  ----------------------------

  MVC是“model-view-controller”的缩写,也就是 模型-视图-控制器 ,MVC是一个“分离关注点”的架构,这将会变得容易开发和维护

  MVC基本程序包括:

  控制器(Controllers):是一个从程序中获取参数,接收数据,和做特殊处理,制定视图,然后响应给客户端的类

  模型(Models):是一个体现(represent )数据的引用,和使得数据的正确性,对数据进行验证的类

  视图(Views):你的程序使用的一个HTML响应的动态生成的模版文件,就是一个用来生成HTML的模版文件

  我们将会通过这些说明来想你展现怎么使用他们来创建一个MVC程序

  我们来创建一个控制器类,在解决方案中Solution Explorer, 右击”Controllers “ 文件夹,然后选择 添加 --控制器Add Controller

  给你的新的控制器起名为”HelloWorldController“,模版那里 选择 空控制器 Empty controller,然后 点击 添加 (Add)

  注意在解决方案中 一个新的文件被创建:HelloWorldController.cs,该文件在IDE是打开的

  在里面的 public class HelloWorldController 块 ,创建两个方法 向下面的代码

  ---------

  这个控制器将会返回HTML的字符代码作为一个列子

  复制代码

  using System.Web;

  using System.Web.Mvc;

  namespace MvcMovie.Controllers

  {

  public class HelloWorldController : Controller

  {

  //

  // GET: /HelloWorld/

  public string Index()

  {

  return "This is my default action...";

  }

  //

  // GET: /HelloWorld/Welcome/

  public string Welcome()

  {

  return "This is the Welcome action method...";

  }

  }

  }

  复制代码

  你的控制器命名为 HelloWorldController 这个第一个方法命名为 ”Index“

  我们来在浏览器中 运行 (按F5 或者 Ctrl+F5).,在浏览器中的地址栏 出现 "HelloWorld" 例如这样的地址http://localhost:43246/HelloWorld

  这个页面 看上去如下图的截图, 在我们看到 一些HTML标签 也能被浏览器渲染

  default

  ASP.NET MVC 创建的不同的控制器类, 它们里面有有不同action方法, 根据来路URL的不同,然后被不同的路由规则匹配出请求的action,路由规则如下

  /[Controller]/[ActionName]/[Parameters]

  第URL的第一部分表示要执行的控制器类,因此/HelloWorld 这个是对应HelloWorldController 这一个类

  URL的第二部分是类要执行的方法,因此/HelloWorld/Index 这一个对应的是HelloWorldController 里面的 Index 方法

  如果通过 浏览器 访问”http://localhost:xxxx/HelloWorld/Welcome.“

  Welcome 方法将会被调用 返回This is the Welcome action method..." 的字样,默认的MVC路由规则是

  /[Controller]/[ActionName]/[Parameters].

  URL的第三部分是[Parameters] 这个是网控制器的方法中 传递一个参数

  让我们来修改这个例子,让我们能够通过URL向控制器传递一些参数

  例如 这样的请求/HelloWorld/Welcome?name=Scott&numtimes=4 改变你的Welcome 方法 添加两个参数 如下方代码

  注意代码使用的是 C# 属性的参数 同时 numTimes 参数 默认是1,如果没给他传值的话

  public string Welcome(string name, int numTimes = 1) {

  return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes);

  }

  运行程序和访问地址http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4

  你可以看到不同的名称和时间 name and numtimes

  路由系统会自动的匹配出地址栏请求的参数 传给你的方法

http://www.hq88.com/cms/article/renliziyuan/201401211008190.shtml

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。