模型-视图-控制器 MVC代表。MVC是一个架构良好,可测试性和易于维护的应用程序,开发模式。基于MVC模式的应用程序包含:
本系列教程,我们将覆盖所有这些概念,并告诉你如何使用它们来构建应用程序。
首先,让我们创建一个控制器类。在解决方案资源管理器中,用鼠标右键单击控制器文件夹,然后选择“ 添加控制器“。
命名的新的控制器“HelloWorldController”。保留默认的模板为空的MVC控制器,并单击“ 添加“。
请注意,在解决方案资源管理器中创建一个新的文件已命名HelloWorldController.cs。该文件是在IDE中打开。
用下面的代码替换该文件的内容。
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作为一个例子。所述控制器被命名为
1 | HelloWorldController |
和上述的第一种方法被命名为
1 | 指数 |
。让我们从浏览器中调用它。运行应用程序(按F5或CTRL + F5)。在浏览器中附加的“HelloWorld”,在地址栏中输入路径。(例如,在下面的说明中,这是http://localhost:1234/HelloWorld。 )在浏览器中的页面看起来像下面的截图。在上面的方法中,代码直接返回一个字符串。你告诉系统只返回一些HTML,它确实!
1 |
1 |
ASP.NET MVC调用不同的控制器的类(不同的操作方法,在其中)根据传入的URL。使用ASP.NET MVC的默认URL路由逻辑使用的格式,以确定哪些代码调用:
1 | / [控制] / [ActionName] / [参数] |
第一部分的URL确定,控制器类的执行。因此,/的HelloWorld映射的
1 | HelloWorldController |
类的。第二部分的URL确定的操作方法上要执行的类。因此,/的HelloWorld /指数,会导致
1 | 指数 |
的
1 | HelloWorldController |
类的方法执行。请注意,我们只需要浏览/ HelloWorld的,默认情况下使用的
1 | 索引 |
方法。这是因为一个名为
1 | 指数的 |
方法是默认的方法将被调用的控制器上,如果一个人没有明确的规定。
1 |
1 |
1 |
1 |
1 |
浏览到http://localhost:xxxx/HelloWorld/Welcome。
1 | 欢迎 |
方法运行并返回的字符串:“这是欢迎的操作方法......”。默认的MVC映射为
1 | / [控制] / [ActionName] / [参数] |
。对于这个URL时,控制器
1 | 的HelloWorld |
和
1 | 欢迎 |
的操作方法。您没有使用过的
1 | [参数] |
URL的一部分。
1 |
1 |
1 |
1 |
1 |
让我们稍微修改的例子,所以,你可以传递一些参数信息的URL的控制器(例如,/的HelloWorld /欢迎?名称=的斯科特·numtimes = 4)。改变你的
1 | 欢迎的 |
方法包括两个参数,如下所示。需要注意的是,代码使用C#可选参数功能,
1 | numTimes |
参数默认为1,如果没有该参数值是通过。
1 |
1 |
public string Welcome(string name, int numTimes = 1) { return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes); }
运行您的应用程序和浏览的例子的URL(http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4) 。你可以尝试不同的值,
1 | 名称 |
和URL中的
1 | numtimes |
。 ASP.NET MVC模型绑定系统会自动将命名参数的查询字符串中的地址栏在你的方法的参数。
1 |
1 |
在这两个例子中,控制器一直在做的“VC”的MVC部分 - 也就是,视图和控制器的工作。该控制器直接返回HTML页面。通常情况下,你不想控制器直接返回HTML,因为这会变得非常繁琐的代码。相反,我们通常会使用一个单独的视图模板文件来帮助生成HTML响应。让我们来看看未来我们如何能做到这一点。
声明: 本文由( zongyan86 )原创编译,转载请保留链接: 一起学习ASP.NET MVC4 -2添加控制器