2012-04-26 9 views
0

正しい構文を解明できないようです。モデルIDをAjax.Actionlinkに渡すOnSuccessを別のJavascript関数に渡す

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

アイデア? ありがとうございます

答えて

1

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

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

ONSUCCESS = "機能(){AddUserShow( ' "+ @ Model.Id +"');}"、 の "Microsoft JScriptのランタイムエラー:識別子" :( – Shenaniganz

+0

あなたは正確に何を共有できます出力は? – bhamlin

+0

Model.IdはGUIDです。 – Shenaniganz

関連する問題