2012-04-26 60 views
0

我似乎無法想象出正確的語法。似乎已經用盡了一切辦法:在Ajax上傳遞模型id.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" 
} 

成功時我只需要我的用戶id通過進一步的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()))", 

代碼:這是傳遞是一個GUID,如果它的事項

function AddUserShow(id) 
{ 
alert(id); 
} 

標識。

任何想法? 在此先感謝

回答

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 2012-04-26 22:36:14

+0

你能分享正是輸出是? – bhamlin 2012-04-26 22:42:25

+0

Model.Id是一個GUID。我將它添加到操作 – Shenaniganz 2012-04-26 22:42:56

相關問題