cho*_*bo2 42 asp.net-mvc asp.net-mvc-2
如果我在db:Product中有这个表,请说
它有过
ProductId
ProductName
ProductType
Run Code Online (Sandbox Code Playgroud)
现在无论出于何种原因我无法命名我的文本框ProductName和ProductType,所以现在我的View方法看起来像这样
public ViewResult Test([Bind(Exclude ="ProductId")] Product)
Run Code Online (Sandbox Code Playgroud)
因此,通过我的游戏,这个产品中没有任何东西可以匹配,因为它们有不同的名称.
所以我猜这是Prefix的用武之地,但我不知道如何使用它.我也不知道如何使用它并同时排除.
有人能举个例子吗?
Joh*_*ter 130
如果您在视图中有前缀,则使用如下前缀...
<select name="p.ProductType">....</select>
<input type="text" name="p.ProductName" />
Run Code Online (Sandbox Code Playgroud)
您可以通过执行类似操作将传入的表单绑定到模型的实例
public ActionResult([Bind(Prefix="p")]Product product)
Run Code Online (Sandbox Code Playgroud)
您应该注意,如果您为方法参数p命名,MVC将自动为您执行此操作.
如果您尝试同时绑定多个实体(例如,两个名称字段),则前缀非常有用.
要将排除绑定用于某些属性(即避免人们以伪造形式传递ProductIds),只需将属性名称设置为排除
public ActionResult([Bind(Prefix="p", Exclude="ProductId")]Product product)
Run Code Online (Sandbox Code Playgroud)
这将确保您的实体上的ProductId永远不会被设置.
如果要绑定两个完全不同的字段名称,例如Type to ProductType,您可以查看自定义模型绑定或只是自己从FormCollection中获取字段.
| 归档时间: |
|
| 查看次数: |
33697 次 |
| 最近记录: |