Url.Action会生成奇怪的网址

时间:2013-02-15 09:53:24

标签: asp.net-mvc asp.net-mvc-3 razor

我在这里遗漏了一些非常微不足道的东西,在剃须刀页面的所有例子中都有:

'@Url.Action("GetUserUnits", "MvcAccount")'

哪个应转换为,我想在javascript中使用:

  

/ MvcAccount / GetUserUnits

但是它产生了这个:

  ?

/动作= GetUserUnits&安培;控制器= MvcAccount

为什么呢?我一定做错了什么?

2 个答案:

答案 0 :(得分:2)

基本上,你有一些事情搞砸了你的路线。 @Url.Action无法将路由与您的操作相匹配。

这可能是由于缺少定义的默认路由引起的。通常,您应该在Global.asax.cs文件中的应用程序启动时注册它。

例如,它可能如下所示:

    protected void Application_Start()
    {
         routes.MapRoute(
            "Default",                                              
            "{controller}/{action}/{id}",                          
            new { controller = "Home", action = "Index", id = "" } 
        );
    }

答案 1 :(得分:-1)

如果你想去 - > / MvcAccount / GetUserUnits

使用

@Html.ActionLink("nameOfyourLink", "GetUserUnits", "MvcAccount")
                   [displayName]     [Action]       [Controller]