2012-04-23 136 views
0

我想說明,從控制器返回,在功能的onComplete數據:ASP.NET MVC顯示從查看頁面中的控制器返回的數據?

function onComplete() { 
    alert(); //I want to show data that returned from controller in this. 
} 

這裏是AJAX鏈接:

@Ajax.ActionLink("Upvote", "Upvote", "Author", 
new AjaxOptions 
{ 
    InsertionMode = InsertionMode.Replace, 
    UpdateTargetId = "vote_count", 
    OnComplete = "onComplete", 
}) 

而且我的控制器:

public ActionResult Upvote(Guid QuestionID) 
{ 
    return Content("Message"); 
} 

感謝。

回答

1
function onComplete(result) { 
    alert(result.responseText); 
} 

或者,如果您使用OnSuccess回調:

@Ajax.ActionLink("Upvote", "Upvote", "Author", 
new AjaxOptions 
{ 
    InsertionMode = InsertionMode.Replace, 
    UpdateTargetId = "vote_count", 
    OnSuccess = "onSuccess", 
}) 

你可以:

function onSuccess(result) { 
    alert(result); 
} 

例如,如果你的控制器動作返回一個JSON結果:

return Json(new { foo = "bar" }, JsonRequestBehavior.AllowGet); 

在你的成功回調你已經得到的JavaScript解析的對象:

function onSuccess(result) { 
    alert(result.foo); 
} 

注意,這是不符合OnComplete回調,你總能得到XHR對象作爲參數的情況下,這是給你做解析等。還要注意,OnComlpete回調總是執行,即使AJAX調用失敗,OnSuccess回調顯然不是這種情況。

相關問題