我正在尝试从下拉列表中获取选择,并将其作为相应的主键保存到数据库中。
当用户进行选择时,我无法使用该选择。我想我没有在控制器中收集正确的信息。
以下是我的观点:
<div class="form-group">
@Html.LabelFor(model => model.Type.TypeName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Types", ViewBag.Types as SelectList, new { htmlAttributes = new { @class = "form-control" } } )
@Html.ValidationMessageFor(model => model.Type.TypeName, "", new { @class = "text-danger" })
</div>
</div>
这是我的控制器
public ActionResult Create(CreateCommunicationViewModel commmodel){
...
var typeIDquery = db.Types.Where(g => g.TypeName == commmodel.Type.TypeName).Select(g => g.TypeID);
typeID = typeIDquery.AsEnumerable().FirstOrDefault().Trim().ToString();
答案 0 :(得分:1)
我不确定您是否发布了完整的视图代码,但我认为您缺少HTML表单:
@using (Html.BeginForm("Create", "YourControllerName", FormMethod.Get)) {....}
在您的Create方法中,您的参数名称必须与您要捕获的下拉列表的名称相匹配:
public ActionResult Create(string Types){....}
操作方法中的“类型”参数应该是下拉列表中的选定值。