我想在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() } )";
});
答案 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();
});