Asp.net mvc 4 为什么我的url中需要主页?
我已经确定了路线Asp.net mvc 4 为什么我的url中需要主页?,asp.net-mvc-4,Asp.net Mvc 4,我已经确定了路线 routes.MapRoute( name: "NoRightsRoute", url: "norights", defaults: new { controller = "Home", action = "NoRights" } ); 在检查用户是否有权限时,如果他们没有权限,我会将他们重定向到此路由 Response.RedirectToRoute("NoRightsRoute"); 它重定向到的url为 https://localhost/no
routes.MapRoute(
name: "NoRightsRoute",
url: "norights",
defaults: new { controller = "Home", action = "NoRights" }
);
在检查用户是否有权限时,如果他们没有权限,我会将他们重定向到此路由
Response.RedirectToRoute("NoRightsRoute");
它重定向到的url为
https://localhost/norights
Home被删除了,这是我所期望的,因为MVC假设是这样,但我得到了一个错误
"The resource could not be found"
如果我将url更改为
https://localhost/Home/norights
页面加载正确。为什么我的url中需要“主页”?是否有某种方法可以将“主页”包含在url中,以便重定向正常工作,或者在假定的情况下加载页面?您可以尝试删除默认设置,并在url中硬编码主页
routes.MapRoute(
name: "NoRightsRoute",
url: "Home/norights",
);
但请检查其他链接/重定向是否不受影响 在此之前是否定义了其他路线?是的,该页面上还有3-4条其他路线。它们可能相互冲突吗?第一个选项将源控制器放在url中。第二个选项将Home放在URL中,重定向现在可以工作了。谢谢:)@请检查其他路线/链接是否也受到影响!谢谢你的警告。随时注意,只要浏览其他页面,一切正常。再次感谢你