我试图找出如何在请求中没有指定应用程序时将我的应用程序路由到默认控制器/ task / id。
这是我的一条路由指令......
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new
{
controller = "LML",
action = "TaskLibrary",
id = 7
//id = UrlParameter.Optional
} // Parameter defaults
);
使用它,如果我输入'http:// mywebsite /',则会调用正确的controller / action / id。但是,我希望URL能够反映这一点。相反,URL与我输入的内容保持不变。
使用路由,有没有办法影响URL,以便重新显示与默认情况下显示的控制器/操作/ id同步?或者我是否必须创建某种重定向操作?
答案 0 :(得分:3)
路由是将请求映射到操作,而不是重定向。
您可以将默认路由参数更改为默认为另一个仅重定向到“LML / TaskLibrary / 7”的操作
答案 1 :(得分:2)
我是ASP.NET MVC 4的新手,并且经常希望看到可以在哪里进行更改。所以,对于那些想要在代码中看到前一个答案的人来说......
在RouteConfig.cs
中routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "LML", action = "TaskLibrary", id = 7 }
);
与原始示例的主要区别在于添加了“默认值:”。
我希望这有助于某人!