在我的MVC應用程序中,我使用uploadify進行文件上傳。控制器的動作是:控制器上的錯誤處理
[HttpPost]
public ActionResult Upload(HttpPostedFileBase fileData, FormCollection forms)
{
try
{
if (fileData.ContentLength > 0)
{
var statusCode = Helper.UploadList();
if (statusCode.Equals(System.Net.HttpStatusCode.Created))
return Json(new { success = true });
}
}
return Json(new { success = false });
}
catch (Exception ex)
{
}
我設置成功=真/基礎上的StatusCode虛假並將它傳遞給uploadify的onComplete時間(在.js文件),並顯示一些有意義的警報。
如果Helper.UploadList()拋出類似的異常:
throw new ArgumentException("Doesn't exist");
我怎樣才能捕捉到控制器的行動,異常,並最終把它傳遞給.js文件,這樣我可以顯示一個錯誤的用戶?
編輯: 如果我設置返回Json(new {success = false});在catch塊中,該值不會到達onComplete。
'onComplete': function (event, queueID, fileObj, response, data) {
if (response == '{"success":true}') {
alert("file uploaded successfully.");
}
else if (response == '{"success":false}') {
alert('file failed to upload. Please try again!');
}
return false;
},
I see this on the UI:
它看起來像你已經有一個'try/catch'塊 - 是問什麼特定的JSON響應將uploadify接受顯示som ething? – Tejs 2012-04-17 19:33:14
如果我在try/catch中設置成功= false。我如何將它返回給.js? – GoldenUser 2012-04-17 19:36:49
'return Json(new {success = false});'?您仍然可以從catch塊返回JSON。 – Tejs 2012-04-17 19:37:16