使用JavaScript变量的ASP.NET MVC 4 Html.Action

时间:2013-04-17 03:06:36

标签: asp.net-mvc-4 knockout.js

我想在MVC Action路由值中使用javascript变量。我提到了这个Stackoverflow post并且给出的答案工作正常。

但我不想写一个额外的javascript函数来实现这一目标。没有写额外的功能,还有其他方法可以做到这一点。我的意思是,MVC4中是否有新增功能?正如该链接中的示例是针对MVC 2的。

self.EditUrl = ko.computed(function () {
            return "@Url.Action(Actions.User_Update, Controllers.User, new { Id = self.Id() } )";
        });

1 个答案:

答案 0 :(得分:2)

MVC 4的情况仍然如此。您无法混合客户端代码和服务器代码。我认为将来甚至不可能。话虽如此,你要做的事情是可以实现的。您始终可以在隐藏字段中编写网址:

<input type="hidden" id="userUpdateUrl" value="@Url.Action("User_Update","User")"/>

然后在客户端绑定上使用它:

self.EditUrl = ko.computed(function () {
    return $("#userUpdateUrl").val() + "?" + self.Id();
});