如何在Postback事件中读取ADO.NET实体数据模型对象中的特定字段
本文关键字:对象 数据模型 字段 实体 ADO Postback 事件 读取 NET | 更新日期: 2023-09-27 18:26:07
我有一个下拉列表,它是从数据库中填充的,如下所示:
控制器
PayrollDb pdb = new PayrollDb ();
var addBranchGui = new branch();
addBranchGui.BranchTypes = new SelectList(pdb.branchtypes,"Id", "Type");
查看
<p>Branch Type:@Html.DropDownListFor(x => x.BranchType, Model.BranchTypes, "Choose an option")</p>
此代码将正确填充下载列表。当用户在下拉列表中选择一个选项并提交表单时,问题就会出现,而我在[HttpPost
操作方法上捕获输入数据并将其插入数据库表中,当我希望插入"Type"
字段时,会插入"Id"
字段。
我可以理解,在Postback事件中,浏览器正在读取"Id"
字段。有人能告诉我如何命令浏览器给我"Type"
字段,这样我就可以把它插入数据库了。
在SelectList
构造函数中,将Id
指定为下拉列表的数据值字段。
addBranchGui.BranchTypes = new SelectList(pdb.branchtypes,"Id", "Type");
所以它会像一样呈现下拉列表
<SELECT name="BranchType">
<option value="2">HeadOffice</head>
<option value="4">Branch</head>
</SELECT>
因此,将其更改为使用Type
作为数据值字段。
addBranchGui.BranchTypes = new SelectList(pdb.branchtypes,"Type", "Type");
这将为选项值和选项文本呈现具有相同值的SELECT元素
<SELECT name="BranchType">
<option value="HeadOffice">HeadOffice</head>
<option value="Branch">Branch</head>
</SELECT>
现在,当用户发布表单时,您将在BranchType
字段