ASP.Net MVC 3,剑道 UI Web。
典型的例子——有一个数据库和一些表,用户正在编辑数据——添加新条目、删除、更新。
除了技术问题(网络连接中断)之外,可能还有几个逻辑问题——例如用户没有写任何东西的权限,或者数据被锁定,或者用户试图更新同时被删除的东西,等等在。
所以我想在这种情况下返回一个错误,所以我可以用 Kendo 处理它并显示,比如说一些警报对话框(JS alert
)。
现在 - 这样做的最精心设计、最正确的方式是什么?我不是在寻找“哦,好吧,它只是有效”的方法。
正在 throw HttpException
在这种情况下是个好主意(我有我的问题,因为它是 http 异常,我尝试传递的错误实际上与 http 无关)?
最佳答案
我将假设您正在使用 Kendo DataSource 对象,该对象存在于大多数自绑定(bind)模式下的小部件上(已定义传输部分并触发它自己的 CRUD 请求)。
网格的 CRUD 所绑定(bind)的操作应在其作为输入接收的模型上返回 IEnumerable.ToDataSourceResult。如果在您的处理过程中检测到错误,请通过您可以在操作中访问的 ModelState.AddModelError 方法将它们添加到 ModelState。 ToDataSourceResult 将自动检测 ModelState 对象中是否存在任何错误并将它们序列化到 JSON 响应(错误字段)中。然后,您甚至可以在客户端通过订阅 DataSource.error 对它们进行操作(参见 http://docs.kendoui.com/api/framework/datasource#error )。
关于asp.net-mvc - 返回逻辑错误的最标准/正确的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13113652/