我已经使用实体框架为请假系统设置了一个MVC Web应用程序。模型RequestModel具有值LeaveType,我想让用户从下拉列表中进行选择。视图页面上LeaveType输入的代码如下:
<div class="form-group">
@Html.Label("Leave Type", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("LeaveTypes")
</div>
</div>
通过viewbag在字符串列表中传递休假类型,并在查看网页时显示正常,并允许您选择一个。但是,在调试时我可以看到,无论你选择什么都不会传递给HttpPost Create方法,而只是将值显示为null。 post create使用以下Bind命令打开:
// POST: Request/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,LeaveType,FullName,Email,StartDate,EndDate,LeaveLength,Details,RequestDate,ReplyDate,Accepted,Special")] RequestModel requestModel)
{
我非常感谢我可能错过的任何想法。我可以添加代码的任何其他部分,如果它们有助于找到问题的根源,请告诉我。
答案 0 :(得分:1)
您创建一个名为 LeaveTypes 的下拉列表,但将其绑定为 LeaveType 。相应地更改下拉列表的名称:
@Html.DropDownList("LeaveType")
...或使用
Html.DropDownListFor(m => m.LeaveType, ...)
方法