<%: Html.ActionLink("Cancel", "Edit", "Users", new {id = " + userID + " }, null) %>
在上面的代码中,userId是一个变量。这种语法不对,应该是什么?
答案 0 :(得分:6)
您不能使用在服务器上运行的HTML帮助程序来使用客户端上已知的Javascript变量。因此,您需要使用您在服务器上配置的信息生成URL。所以你在服务器上所能做的就是:
<%: Html.ActionLink("Cancel", "Edit", "Users", null, new { id = "mylink" }) %>
然后我想在客户端上你正在做一些javascript(理想情况下使用jquery),当你想使用这个url和你在客户端计算的userID来查询服务器时,就会出现这种情况。因此,例如,您可以通过附加一些id:
来动态修改链接操作$(function() {
$('#mylink').click(function() {
var userId = ...
this.href = this.href + '?' + userId;
});
});
或者如果你想要AJAX化这个链接:
$(function() {
$('#mylink').click(function() {
var userId = ...
$.ajax({
url: this.href,
data: { id: userId },
success: function(result) {
...
}
});
return false;
});
});