我似乎无法想象出正确的语法。似乎已经尝试了一切:
@model User
...
@Ajax.ActionLink("Add", "AddUser",new {id = Model.Id }, new AjaxOptions
{
HttpMethod = "post",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "dialog-add-user",
OnSuccess = **"function(){ AddUserShow(" + @Model.Id + ");}",**
OnFailure = "userFailure"
}
成功之后我只需要将userId传递给另一个Javascript方法。似乎没什么用。我环顾四周找到了一些建议,但仍然没有运气。 我试过了:
"new Function('AddUserShow(" + @Model.Id + ")')",
"function(){ AddUserShow(" + @Model.Id + ");}",
"function(){ AddUserShow(this," + @Model.Id + ");}",
Also tried sticking the user ID in a hidden field to try and pass it later from functions above instead of accessing @Model:
"AddUserShow($('#Id').val()))",
接收端的代码:
function AddUserShow(id)
{
alert(id);
}
如果重要,那么传递的是一个Guid。
有什么想法吗? 提前致谢
答案 0 :(得分:1)
你需要引号,否则javascript会尝试将你的Id解释为变量。
"AddUserShow(" + @Model.Id + ");" // bad. becomes AddUserShow(123abc);
"AddUserShow('" + @Model.Id + "');" // good! becomes AddUserShow('123abc');