Max*_*sky 3 c# asp.net asp.net-mvc
我正在尝试ASP.NET MVC,但是,在阅读了一个庞大的教程后,我有点困惑.我理解控制器如何具有路由到URL的操作,但主页如何工作?主页是否有自己的控制器(例如"Home")没有动作?这听起来是正确的,但是如果没有Actions就实现了功能(没有Actions意味着没有调用View Engine的方法)?
换句话说,我的问题是:如何实现主页(根据控制器和视图)?你能提供样品代码吗?
"Home"页面无非Action就是具体的任意Controller返回一定的View
要设置"主页",页面或更好的措辞,默认页面,您需要更改Global.asax.cs文件中的路由信息:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
AreaRegistration.RegisterAllAreas();
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "NotHome", action = "NotIndex", id = "" } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
注意路线定义:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "NotHome", action = "NotIndex", id = "" } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
这条路线是一条"包罗万象"的路线,这意味着它将采用任何URL并将其分解为特定的控制器和动作和id.如果没有定义任何路由或其中一个路由,它将使用默认值:
new { controller = "NotHome", action = "NotIndex", id = "" }
Run Code Online (Sandbox Code Playgroud)
这说"如果有人访问我的应用程序,但未指定控制器或操作,我将重定向到NotIndex我的NotHome控制器的操作".我故意用"Not"来说明"Default.aspx","Index.html"的命名约定不适用于MVC路由.
| 归档时间: |
|
| 查看次数: |
522 次 |
| 最近记录: |