Controllers 文件夹
Controllers 文件夹包含负责处理用户输入和响应的控制类。
MVC 要求所有控制器文件的名称以 “Controller” 结尾。
在下例中,Visual Web Developer 已经创建好了以下文件: HomeController.cs(用于 Home 页面、 About 页面和Contact页面)
MVC映射方式
Web 服务器通常会将进入的 URL 请求直接映射到服务器上的磁盘文件。例如:URL 请求 “http://baidu.com/index.php” 将直接映射到服务器根目录上的文件 “index.php”。
MVC 框架的映射方式有所不同。MVC 将 URL 映射到方法。这些方法在类中被称为"控制器"。
控制器负责处理进入的请求,处理输入,保存数据,并把响应发送回客户端。
例如下图地址栏
先由ASP.NET IIS的管道接管,中间键得到地址,会解析出Home和Index两个信息,Home就是Controller名字,Index对应的是方法的名字,这时它会通过反射的方式实例化这个Controller,并且调用这个方法,这都是MVC框架干的事情。
内置对象
调用方法的时候有几个重要的内置对象
- Request
- Response
- Session
- Cookie
- Application
- Server
Request
Request是服务器接收客户端数据
Request.QueryString对应的是get请求,QueryString对应的是get请求的数据
namespace WebApplication1.Controllers
{
public class DemoController : Controller
{
// GET: Demo
public ActionResult Index()
{
return Content(Request.QueryString["name"]);
}
}
}
namespace WebApplication1.Controllers
{
public class DemoController : Controller
{
// GET: Demo
public ActionResult Index()
{
return Content($"{Request.QueryString["name"]}-{Request.QueryString["age"]}-{Request.QueryString["id"]}");
}
}
}
Request.Form对应的是post请求
public class DemoController : Controller
{
public ActionResult PostData()
{
return Content(Request.Form["loginname"]);
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>