【发布时间】:2014-09-05 17:25:54
【问题描述】:
我想知道 ASP.NET MVC 中是否有任何内置方法可以让模型属性包含在绑定中,但如果绑定失败,这不会使模型无效。假设我有以下支持 JqGrid CRUD 操作的简化模型:
public class JqGridCRUDDTO
{
public JqGridCRUDOperation oper {get; set;}
public int? id {get;set;}
}
当模型表示“添加”操作(由 oper 属性指定)时,JqGrid 将包含 HTML 元素的 id 属性发布为 id(我相信就是这样)。在这种情况下,id 属性的绑定会失败,这会使ModelState 无效。但是id 属性的绑定只会在我不需要它时失败(我只需要一个记录 id 来进行“编辑”和“删除”操作)。
我意识到,理想情况下,我应该为每个操作都有一个单独的模型,但是 JqGrid 似乎更自然地适合将所有 CRUD 操作发送到单个 URL,所以我不确定单独的模型方法会导致最简单的解决方案。修改我的客户端脚本也是如此,以便 JqGrid 在添加时发送一个整数值——我知道这是可能的,但它会增加客户端脚本的复杂性。我更愿意在服务器端管理尽可能多的复杂性。
如果没有内置的方法来做我所要求的,我想听听其他人会如何解决这个问题。
【问题讨论】:
标签: c# ajax asp.net-mvc asp.net-mvc-4 jqgrid