Dam*_*ien 18 ajax error-handling asp.net-mvc jquery
有没有人有一个优雅的方法来处理ASP.Net MVC中的错误?在处理对控制器操作的请求时,我经常遇到问题,其中Action可用于正常请求和AJAX请求.我遇到的问题是找到一种处理这些问题的优雅方式.
例如,我如何处理验证错误?理想情况下,我想通过AJAX将表单提交给服务器,然后返回操作引发的任何错误并将其显示在页面上,但是当客户端关闭JavaScript时,通过正常的回发工作.我知道我可以使用jQuery的验证插件,因为他们类型,但它是不一样的,也不是理想的考虑上进行验证会在两个地方(我NHibernate的验证映射和JavaScript文件中)来指定数据的限制.
当用户请求不存在的记录时怎么样?我应该重定向到404页面吗?如果请求是通过Ajax发出的(例如,加载到对话框中),该怎么办?
所以:
在使用Ajax调用控制器操作时,如何处理控制器操作引发的错误?特别是模型状态错误(即验证).我可以通过JSON发送吗?
您是否有关于如何使控制器操作在正常调用和通过Ajax时正常工作的提示?在编写动作方法时,这是一个恼人的问题.由于返回类型,我可能需要根据调用者的不同结果.如果没有两种行动方法,有没有这样做呢?
处理MVC操作错误的一般策略是什么?你重定向到错误页面了很多吗?你重定向到另一个页面?
编辑:我认为问题的一部分是我想要发生不同的事情,所以如果有错误我会想要停止任何进展,直到它修复,因此发回错误.否则,我可能想要更新页面的不同区域.但是,如果我有一个返回,我怎么知道它是成功或失败而没有包装它有一个属性指示的对象(从而使部分视图更难使用)
谢谢
AJAX 调用不是页面刷新,因此我绝对不会重定向到 403、404 等。我会显示一个客户端对话框,适当地解释请求的意外结果。您的控制器可以将验证失败的结果返回到 AJAX 调用,其方式与返回成功数据的方式类似,因此您的对话框也可以显示此场景中所需的任何内容。
归档时间: |
|
查看次数: |
4506 次 |
最近记录: |