如何设置处理http://mysite.com/Foo的路由?
foo可以是任何值。我希望它转到/ Home / Action / Id,其中foo是id。
这些是我尝试过的映射:
routes.MapRoute("Catchall", "{*catchall}",
new { controller = "Home", action = "Index", id=""});
routes.MapRoute("ByKey", "{id}",
new { controller = "Home", action = "Index" id=""});
他们都生成了404。
感谢您的帮助。
答案 0 :(得分:3)
试试这个(请注意原帖中缺少逗号):
routes.MapRoute("ByKey", "{id}",
new { controller = "Home", action = "Index", id=""});
但是,我会在以后防止冲突时使其更具说明性,即使它意味着更长的URI:
routes.MapRoute("ByKey", "ByKey/{id}",
new { controller = "Home", action = "Index", id=""});
并将其作为第一个MapRoute命令。订单在那里很重要,您添加的第一条路线是用于测试URL的第一条路线。
答案 1 :(得分:1)
你的第二条路线是正确的。它应该工作。也许你上面还有其他路线?使用Phil Haack's ASP.NET Routing Debugger
调试路线答案 2 :(得分:0)
解决步骤 右键点击项目 转到页面的Web标签。 我的起始网址为空 我复制了“服务器的项目URL”部分中的内容 粘贴到“开始网址”
有效。