asp.net-mvc – 如何使用绑定前缀?

说如果我有这个表在我的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中获取字段。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....