将 Ajax.Actionlink OnSuccess 上的模型 id 传递给另一个 Javascript 函数

本文关键字:另一个 函数 Javascript id 模型 Actionlink Ajax OnSuccess | 更新日期: 2023-09-27 18:32:19

我似乎无法找出正确的语法。似乎已经尝试了一切:

@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);
}

如果重要,正在传递的 ID 就是 Guid。

有什么想法吗?提前致谢

将 Ajax.Actionlink OnSuccess 上的模型 id 传递给另一个 Javascript 函数

你需要引号,否则javascript将尝试将你的Id解释为变量。

"AddUserShow(" + @Model.Id + ");" // bad. becomes AddUserShow(123abc);
"AddUserShow('" + @Model.Id + "');" // good! becomes AddUserShow('123abc');