【发布时间】:2009-10-22 20:12:56
【问题描述】:
在处理来自 javascript 的 XHR 调用时,利用现有 [HandleError] 和 [Authorize] 属性的优雅方法是什么?
因此,例如一个返回 JsonResult 的方法 GetJson。
当发生错误时,[HandleError] 方法将返回一个 ViewResult,该 ViewResult 将在 javascript 的回调函数中检索。
然后我必须在 javascript 中的任何地方放置自定义代码来处理和重定向任何崩溃等。
如果原始操作计划这样做,我想做的是让 [HandleError] 属性返回 JsonResult。这可能是我的一厢情愿。
同样,如果有未经授权的 Json 请求进来,我不想返回一个新的 HttpUnauthorizedResult,而是返回一个允许我的客户端代码以通用方式处理事情的 JsonResult。
我在这里叫错树了吗?也许 MVC 有更好的方式来处理我不知道的这个问题?
其他人如何处理这种情况?
谢谢。
PS:我意识到我可以创建自己的 [HandleJsonError] 和 [AuthorizeJson] 属性,它们返回 JsonResults 而不是 ViewResults,但是我必须四处走动并将它们放在任何返回 Json 的方法上,并担心过滤器订单等。如果我可以使用反射或其他东西使相同的属性根据原始方法的签名而有所不同,那肯定会很好。
【问题讨论】:
标签: asp.net asp.net-mvc