Terry的学习笔记--ASP.NET MVC 4 HELLO WORLD添加控制器(Controller)
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范。
模型:
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。
视图:
视图是用户看到并与之交互的界面,视图就是由HTML元素组成的界面。
控制器:
控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
添加控制器(Controller)
首先创建一个控制器类。在controller文件夹点击右键,选择add controller菜单
将控制器命名为"HelloWorldController",运用默认的模板” Empty MVC controller”
在IDE中刚刚添加的HelloWorldController.cs出现在了图示的位置
运用一下代码替换原代码
using System.Web;
using System.Web.Mvc;
namespace HelloWorld.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...";
}
}
}
开始调试,在默认的url后添加helloworld,url的具体格式如图
MVC会根据url去选择调用哪个控制器。默认的选择器是根据以下规则进行选择:
/[Controller]/[ActionName]/[Parameters]
url的第一部分对应控制器,就比如/HelloWord会对应到HelloWorldController类。url的第二部分对应控制器中的事件,/HelloWorld/Index会调用HelloWorldController类中的index事件。index为默认事件,所以当我们直接再查看/HelloWorld的时候会直接调用index事件。
接下来我们访问/HelloWorld/Welcome/,在这里HelloWorld是控制器的名字,Welcome是事件名
然后我们改写Welcome方法,让它可以接受url中传过来的值
public string Welcome(string name, int numTimes = 1) {
return HttpUtility.HtmlEncode("Hello
" + name + ", NumTimes is: " + numTimes);
}
这个方法将接受url中name和numTimes的值并显示在页面上
我们现在访问/HelloWorld/Welcome?name=scott&numTimes=4,显示的结果如下图