MVC中运行Views->HelloWeb页面时 http://localhost:1819/HelloWeb这个URL链接有默认页面,而http://localhost:1819/Account则会找不到页面,这是因为Controllers->AccountController
中 ActionResult没有设置默认页面(Index页面),而Controllers->HelloWebController.cs中有指定Index页面
public ActionResult Index()
{
return View();
}
设置默认页面可在Global.asax中 RegisterRoutes里设置
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
);
}
,原理:
在MVC中,客户端的所请求的URL是被映射到相应的Controller去,然后由Controller来处理业务逻辑,或许要从Model中取数据,然后再由Controller选择合适的View返回给客户端。再说回前面我们运行的ASP.NET MVC程序访问的http://localhost:2176/Home/Index这个URL,它访问的其实是HomeController中的Index这个Action,blic ActionResult Index()这个方法称为Controller的Action,他返回的是ActionResult的类型。详细可去(网上找个资料)http://wenku.baidu.com/view/60b2ff4e852458fb770b5663.html 查看
初学MVC还有很多东西不懂,继续努力。。。。。