一、ASP.NET MVC页面处理流程
URLRouteModule--->IRouteHandler--->IHttpHandler(mvcHandler)--->Controller(此时与Model开始进行交互)--->IView
二、关于Action
- 可以通过overwrite HandleUnkonwnAction方法的方式来处理未知或错误的URL请求
protected override void HandleUnknownAction(string actionName)
{
ViewData["Title"] = "Error 404 - Page not found";
ViewData["Message"] = "Page not found";
ViewData["RequestedAction"] = actionName;
ViewData["Controller"] = "Home";
ViewData["AlternativeActions"] = new string[] { "Index",
"About" };
Response.StatusCode = 404;
View("404").ExecuteResult(ControllerContext);
}
2.可通过ActionName特性来重定向Action
3.可通过NonAction特性来隐藏Controller中帮助方法以防止被URL路由
[NonAction]
public ActionResult NonAction()
{
return View("Home");
}
4.ASP.NET MVC架构中由于没有ViewState和PostBack,所以不能使用一般Web Forms中的控件。