【发布时间】:2015-03-25 03:56:05
【问题描述】:
这与我在此链接correct me on url routing in mvc 中提出的问题有关
现在我遇到了另一个问题,所以我想我会作为新问题提出。
现在我的 global.asax 文件中有以下路线
routes.MapRoute(
"Custom", // Route name
"{action}/{id}", // URL with parameters
new { controller = "Authentication", action = "BigClientLogin", id = UrlParameter.Optional } // Parameter defaults
);
和
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Authentication", action = "BigClientLogin", id = UrlParameter.Optional } // Parameter defaults
);
现在发生的情况是,当我运行我的解决方案时,我得到的 URL 是 http://localhost:65423/Login,这是我的登录页面所需要的,没问题。但是当我以用户身份登录时,我收到 “找不到资源” 错误。
当我检查它时,我可以看到我的 URL 现在更改为 http://localhost:65423/Admin/Dashboard
所以我认为这会导致问题。所以这看起来与我的global.asax 路由有关的问题。
谁能帮我找出我做错了什么。
【问题讨论】:
-
假设您已经阅读了路由的工作原理(即ScottGu article)并查看了您之前问题的答案 - 您能否解释一下您对匹配相同路径集的 2 条路由的期望和代码的行为与您的预期有何不同?
-
@alexi 感谢您的回复。我的问题略有变化。我实际上对应该使用哪种路由格式感到困惑。实际上我的客户要求是他们的登录页面 url 应该看起来像 localhost:65423/Login 这个。所以我设法使用第一路线格式创建它。但是一旦我登录,由于第一路线格式,没有任何动作被识别。但是,如果我使用第二种路由格式,即使在登录后它也能正常工作。但是那个时候我的第一个条件不会满足。
标签: c# asp.net asp.net-mvc url-routing asp.net-mvc-routing