控制器和操作名称除了默认的一个Home / Index之外如何默认?

时间:2015-08-18 02:04:01

标签: asp.net-mvc

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

此处主页/索引设置为默认设置,以及控制器/操作/ ID的网址占位符。

据我所知,当有人用url点击浏览器时(我有带控制器的Home控制器),

http://localhost:51712/Home/Index

然后它渲染视图,因为这是在路由配置中设置的。

但是,如果我有“测试”方法的“Hello”控制器,并且我使用url访问浏览器,

http://localhost:51712/Hello/Test

然后我也得到了这个观点。

问题,如何在场景后解析此控制器名称和方法名称?

我知道我们有控制器/操作的占位符。

以下有人可以向我解释一下吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

如果你看到routes.MapRoute,controller Home和action index是defaults参数的一部分,但是进行绑定的重要部分是属性url,url是 url:" {控制器} / {action} / {id}" ,所以说任何控制器,任何动作和任何id,因此 Hello / Test 返回视图。

如果URL中没有任何其他控制器和操作,则使用默认值。

此致