0

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

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

哪个应该翻译成,我想在 javascript 中使用:

/MvcAccount/GetUserUnits

但相反,它会生成:

/?action=GetUserUnits&controller=MvcAccount

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

4

2 回答 2

2

基本上,您的路线有些混乱。@Url.Action无法将路由匹配到您的操作。

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

例如,它可能看起来像这样:

    protected void Application_Start()
    {
         routes.MapRoute(
            "Default",                                              
            "{controller}/{action}/{id}",                          
            new { controller = "Home", action = "Index", id = "" } 
        );
    }
于 2013-02-15T09:57:15.033 回答
-1

如果你想去 -> /MvcAccount/GetUserUnits

采用

@Html.ActionLink("nameOfyourLink", "GetUserUnits", "MvcAccount")
                   [displayName]     [Action]       [Controller]
于 2013-02-15T11:09:02.470 回答