【发布时间】:2009-10-15 16:36:08
【问题描述】:
在我的 Global.ascx.cs 中,我有这个路由设置:
routes.MapRoute(
"HomeTarget",
"{TargetCode}",
new { controller = "Home", action = "Index", TargetCode = "" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
在我的 HomeController 中,我有一个这样的 Index() 操作:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index(string TargetCode)
{
return View();
}
当我访问该站点时,例如 mysite.com/Test1,我想它应该将“Test1”作为 TargetCode,但它没有......我应该怎么做才能拾取“Test1” " 作为 TargetCode,我不想这样做:mysite.com/?TargetCode=Test1
非常感谢, 肯尼。
【问题讨论】:
-
您的示例适用于使用默认 Visual Studio 模板创建并在 Cassini 下运行的简单 ASP.NET MVC 应用程序。所以也许你的配置中有一些特定的东西阻止它选择所需的路线。
-
显然 MVC 引擎或 VS 有问题...我只是注释掉代码,构建解决方案,然后取消注释代码,然后重新构建,一切正常预期的!感谢您关注达林。
标签: asp.net-mvc asp.net-mvc-routing query-string