0
後視圖我Ajax調用NameController\Action
asp.net返回Ajax調用
在這次行動我返回ActionResult
- 一個View(model)
有沒有什麼辦法可以將客戶端重定向到返回的看法?
現在我看到這個觀點只在fiddeler(如返回的內容)
後視圖我Ajax調用NameController\Action
asp.net返回Ajax調用
在這次行動我返回ActionResult
- 一個View(model)
有沒有什麼辦法可以將客戶端重定向到返回的看法?
現在我看到這個觀點只在fiddeler(如返回的內容)
有沒有什麼辦法可以將客戶端重定向到返回的看法?
當然,但爲什麼你在這種情況下使用AJAX? AJAX的重點是保持在同一頁面上,避免重新加載整個HTML。
但是,如果你想你可以做到這一點。例如,您可以讓控制器操作有條件地返回包含要重定向到的目標url的JSON結果。然後在AJAX調用的成功回調中使用window.location.href
在客戶端上執行重定向。
讓我們舉例說明:
[HttpPost]
public ActionResult MyAction()
{
if (SomeCondition)
{
return PartialView(model);
}
return Json(new { redirectTo = Url.Action("TargetAction", "TargetController") });
}
,然後你的AJAX成功回調中:
success: function(result) {
if (result.redirectTo) {
// the server returned a JSON result => let's redirect to the target url
window.location.href = result.redirectTo;
} else {
// The server returned a partial view => let's update some portion of the DOM
$('#result').html(result);
}
}
了window.location可以做的伎倆,但你必須返回一個網址,而不是網頁的.. – VoidMain
你能展示你的代碼嗎? – ken2k