【发布时间】:2014-03-06 10:53:40
【问题描述】:
我在好几个地方写了这段代码,并且总是重复这个逻辑:
public ActionResult MyMethod(MyModel collection)
{
if (!ModelState.IsValid)
{
return Json(false);//to read it from javascript, it's always equal
}
else
{
try
{
//logic here
return Json(true);//or Json(false);
}
catch
{
return Json(false);//to read it from javascript, it's always equal
}
}
}
有什么方法可以使用动作过滤器,不重复try-catch,询问模型是否有效,return Json(false)为ActionResult?
【问题讨论】:
-
是的,绝对可以,您可以创建验证
ActionFilter或ExceptionFilter来捕获所有错误,但是您到底为什么要在这里尝试...捕获?从验证之类的东西中抛出异常是错误的。你期待什么样的错误?同样返回Json(true)或Json(false)也是错误的,这就是Http 状态码的用途。 -
我可以回答,但您需要的所有内容都已在此处输入:lostechies.com/jimmybogard/2013/12/19/… 或者您可以观看技术视频viddler.com/v/b568679c
-
是的,如果应该在
try-catch之外,除了返回一个Json (true)是错误的,谢谢
标签: c# asp.net-mvc-4