如何使用绑定前缀?

说如果我在我的分贝:产品有这张桌子

它有过

ProductId ProductName ProductType 

现在无论什么原因,我不能命名我的文本框ProductName和ProductType,所以现在我的View Method看起来像这样

 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会自动为你做这个。

如果您尝试同时绑定多个实体(例如两个名称字段),则前缀可能非常有用。

要使用排除绑定到某些属性(即避免在伪造forms传递ProductIds的人)只需设置属性名称排除

  public ActionResult([Bind(Prefix="p", Exclude="ProductId")]Product product) 

这将确保实体上的ProductId永远不会被设置。

如果你想绑定两个完全不同的字段名称,例如Type到ProductType,你可以看看自定义的模型绑定,或者只是自己抓住FormCollection的领域。