1

ASP.Net MVC 3,剑道 UI Web。

典型的例子——有一个数据库和一些表,用户正在编辑数据——添加新条目、删除、更新。

除了技术问题(网络连接中断)之外,可能还有几个逻辑问题——例如用户没有写任何东西的权限,或者数据被锁定,或者用户试图更新同时被删除的东西,等等上。

所以我想在这种情况下返回一个错误,所以我可以用剑道处理它并显示,比如说一些警报对话框(JS alert)。

现在 - 这样做的最精心设计、最正确的方式是什么?我不是在寻找“哦,好吧,它只是有效”的方法。

在这种情况下抛出HttpException一个好主意(我有我的问题,因为它是http异常,我尝试传递的错误与http无关)?

4

1 回答 1

1

我将假设您正在使用 Kendo DataSource 对象,该对象存在于大多数自绑定模式下的小部件上(已定义传输部分并触发它自己的 CRUD 请求)。

网格的 CRUD 所绑定的操作应在其作为输入接收的模型上返回 IEnumerable.ToDataSourceResult。如果在您的处理过程中检测到错误,请通过您可以在操作中访问的 ModelState.AddModelError 方法将它们添加到 ModelState。ToDataSourceResult 将自动检测 ModelState 对象中是否存在任何错误并将它们序列化到 JSON 响应(错误字段)中。然后,您甚至可以在客户端通过订阅 DataSource.error 对它们进行操作(请参阅http: //docs.kendoui.c​​om/api/framework/datasource#error )。

于 2012-10-28T23:41:12.777 回答