ASP.NET MVC用jQuery:catch异常+显示错误消息
问题描述:
我有这样的代码:ASP.NET MVC用jQuery:catch异常+显示错误消息
$(document).ready(function() {
$('.DOFFDelete').click(function() {
var id = $(this).attr("id");
$.post("/Customer/DayOffDelete", { customerid: getCustomerId(), doffId: id }, function(data) {
$("#myFormDOFF").html(data);
});
});
});
在Controller中,我有这样的:
CustomerDayOff customerDayOff;
try
{
.....
}
catch (Exception ex)
{
return View("ErrorTest",ex.Message);
}
return View("CustomerDetail");
一个异常发生时,I” d没有改变“myFormDOFF”中的任何内容,但在“myFormMessage”中显示异常消息。
问题: 1.在jQuery代码中,如何区分有效结果和异常?
- 有没有办法使用控制器“Home”(或其他共享控制器)和“ShowError”动作来显示所有控制器的错误,例如使用RedirectToAction代替返回视图(“ErrorTest”,ex.Message); ?
感谢,
答
我不建议在你的控制器动作捕捉所有的异常。只要抓住那些你可以处理的东西,如果有的话。否则,让他们被抛出。
至于jQuery方面的东西,请使用ajax
方法而不是post
方法来针对服务器的不同响应运行不同的函数。
//assuming you have a button/link with an ID of "myFormDOFF"
$("#myFormDOFF").click(function() {
$.ajax({
type: "POST",
url: "/Customer/DayOffDelete",
data: { customerid: getCustomerId(), doffId: id },
success: function(msg){
$("#myFormDOFF").html(msg);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
//handle the error here
}
});
});
谢谢。但是当我按下“DOFFDelete”按钮时,我怎么能调用这个? – 2009-07-23 08:09:22