2014-06-11 122 views
1

我有一個提供/取消3個按鈕的Ajax表單。 Post過得很好,當它重定向到下一個頁面時,它會調用正確的操作,但新的Action會將其檢測爲Ajax請求,而不是返回完整頁面,它會嘗試返回一個部分。重定向時刪除ajax請求

視圖包含:

@using (Ajax.BeginForm("postingAction", "Controller", new AjaxOptions { HttpMethod = "post" }, new { id = "myId" })) 
    { 
    @Html.AntiForgeryToken() 
    @Html.ValidationSummary(true) 

     <buttons> 
      ... 
      <input type="submit" name="Cancel" value="Cancel" class="btn btn-default" /> 
     </buttons> 
     ... 
} 

行動被稱爲爲後:

[HttpPost] 
[ValidateAntiForgeryToken] 
[Authorize(Roles = "userType1, userType2")] 
public ActionResult postingAction(myViewModel model) 
{ 
    if (Request.Form["Cancel"] != null) 
    return RedirectToAction("Action2", "DiffController"); 
    ... 
} 

現在,當這個RedirectToAction情況,本次行動還檢測到它是一個Ajax調用,我該怎麼辦刪除它是一個Ajax電話,並使其成爲一個正常的電話?

謝謝, 大衛K.

+0

爲什麼不叫直接行動法的觀點,而不是'RedirectToAction'? –

回答