MVC 2.0路由问题 - 无法识别Url参数

时间:2010-06-29 15:50:17

标签: asp.net-mvc model-view-controller asp.net-mvc-routing

在我的AccountController类中,我有以下内容:

public ActionResult Verification(string userGuid)
{

    Debug.WriteLine(userGuid);
...

在我的global.asax中,我有:

routes.MapRoute(
    "AccountVerification", 
    "{controller}/{action}/{userGuid}", 
    new { controller = "Account", action = "Verification", userGuid = UrlParameter.Optional }
);

当我去http://localhost/Account/Verification/123时...没有调试输出......它没有识别参数 - 这是我的问题。不确定我错过了什么。

我确实希望这个参数是可选的......如果没有设置,那么我会返回一个不同的视图。

修改: 当我在Verification函数中放置Debug.WriteLine("hello world");时,它会输出它,以便路由看起来转到正确的函数。

再次编辑: 默认控制器仍然存在,但我认为它不会触及该路由,因为它使用不同的控制器/操作

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

3 个答案:

答案 0 :(得分:4)

您给我们的路线应该匹配 - 您在上面定义了哪些其他路线?它可能被不同的路线拾取。

答案 1 :(得分:1)

RouteDegguer将有助于确定正在挑选的路线。

答案 2 :(得分:0)

将此定义放在顶部,看看它是否仍然无效。调试路径的第一步