说如果我有这个表在我的db:产品
它有过
ProductId ProductName ProductType
现在无论什么原因,我不能命名我的文本框ProductName和ProductType所以现在我的View方法将如下所示
public ViewResult Test([Bind(Exclude ="ProductId")] Product)
所以现在通过我的游戏什么都不会匹配在这个产品,因为他们有不同的名字。
所以我想这是前缀进来的地方,但我不知道如何使用它。也不怎么使用它和排除在同一时间。
有人可以给我一个例子吗?
解决方法
前缀使用如下,如果在您的视图中有…
<select name="p.ProductType">....</select> <input type="text" name="p.ProductName" />
您可以通过执行类似的操作将传入表单绑定到模型的实例
public ActionResult([Bind(Prefix="p")]Product product)
你应该注意,如果你命名你的方法参数p,MVC会自动做到这一点。
如果您尝试同时绑定多个实体(例如,两个名称字段),则前缀可能非常有用。
要使用排除绑定到某些属性(即避免人们在伪造表单中传递ProductIds),只需将属性名称设置为排除
public ActionResult([Bind(Prefix="p",Exclude="ProductId")]Product product)
这将确保您的实体上的ProductId永远不会被设置。
如果您想要绑定两个完全不同的字段名称,例如键入到ProductType,您可以查看自定义模型绑定或只是从自己的FormCollection中获取字段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。