参数字典包含参数';SolutionArchitectID';不可为null的类型';System.I
本文关键字:参数 类型 null System 字典 包含 SolutionArchitectID | 更新日期: 2023-09-27 18:21:44
不确定我创建的下拉列表是否正在发送选定的值。我是否缺少DropDownList助手的参数?
CreateDropDowns方法
List<SelectListItem> EmployeeList = new List<SelectListItem>();
foreach (Employee e in db.Employees)
{
EmployeeList.Add(new SelectListItem { Text = e.FirstName + " " + e.LastName, Value = e.SolutionArchitectID.ToString() });
}
ViewBag.EmployeeList = EmployeeList;
UpdateDetails方法
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult UpdateDetails(int SolutionArchitectID) {
Asset currAppRecord = db.Assets.Where(a => a.ApplicationID == ApplicationID).Single();
...
currAppRecord.SolutionArchitectID = SolutionArchitectID;
...
}
查看
@using (Html.BeginForm("UpdateDetails", "Atlas"))
{
...
<div class="form-group">
<label class="control-label col-md-2" for="Employees">Solution Architect</label>
<div class="col-md-10">
@Html.DropDownList("EmployeeList")
</div>
</div>
...
}
SolutionArchitectID是提交时数据库表中要更新的字段。
在using
中,没有名为SolutionArchitectID的Html控件。要成功提交表单,您需要通过SolutionArchitectID。如以下代码所示。
@using (Html.BeginForm("UpdateDetails", "Atlas"))
{
...
<div class="form-group">
<label class="control-label col-md-2" for="Employees">Solution Architect</label>
<div class="col-md-10">
@Html.DropDownList("EmployeeList")
@Html.Hidden("SolutionArchitectID", <<PutHereSomeValue>>)
</div>
</div>
...
}
我认为以下问题的答案将有助于更多
- 您将如何获得SolutionArchitectID的价值
- 它是否会与表格一起寄回