0

正しい構文を理解できないようです。すべてを試したようです:

@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 です。

何か案は ?前もって感謝します

4

1 に答える 1

1

そこには引用符が必要です。そうしないと、javascript が ID を変数として解釈しようとします。

"AddUserShow(" + @Model.Id + ");" // bad. becomes AddUserShow(123abc);
"AddUserShow('" + @Model.Id + "');" // good! becomes AddUserShow('123abc');
于 2012-04-26T22:29:57.867 に答える