尝试选择下拉列表

时间:2015-06-08 19:39:01

标签: c# asp.net asp.net-mvc

我正在尝试从下拉列表中获取选择,并将其作为相应的主键保存到数据库中。

当用户进行选择时,我无法使用该选择。我想我没有在控制器中收集正确的信息。

以下是我的观点:

<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();

1 个答案:

答案 0 :(得分:1)

我不确定您是否发布了完整的视图代码,但我认为您缺少HTML表单:

@using (Html.BeginForm("Create", "YourControllerName", FormMethod.Get)) {....}

在您的Create方法中,您的参数名称必须与您要捕获的下拉列表的名称相匹配:

public ActionResult Create(string Types){....}

操作方法中的“类型”参数应该是下拉列表中的选定值。