2013-09-23 96 views
0

我有一個控制器,其中包含以下catch語句,它返回一個局部視圖和要顯示的錯誤。將數據傳遞給Ajax錯誤塊

 catch (Exception ex) 
     { 
      return PartialView("ErrorPartial", new ErrorModel(ex)); 
     } 

該控制器正在通過Ajax調用像這樣調用...

$('#myID').ajaxSubmit({ 
     url: buildUrl('MyController'), 
     beforeSubmit: function() { 
      toggleOverlay(true, 'Saving...'); 
     }, 
     success: function (responseText, statusText, xhr) { 
      successSave(responseText, statusText, xhr) 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 
     } 
    }); 

如果異常被捕獲,然後將代碼落入錯誤塊但是我無法通過部分查看數據到這裏。

無論如何我可以將部分數據傳入錯誤塊嗎?如果沒有,你可能會推薦一個替代品嗎?

謝謝:)

回答

0

你可能尋找jqXHR.responseText。然而,對我來說不是很清楚爲什麼你的js代碼失敗到了錯誤塊 - 你已經處理了異常,所以ajax請求應該被認爲是成功的,並且應該觸發成功函數。這是我的C#代碼導致ajax請求失敗,但傳遞數據以及錯誤。

Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest; 
return PartialView("SomePartialView", model); 
+0

感謝您的回覆。我最終做了Response.StatusCode = 500;這與您的建議類似。 – heymega