如何在控制器操作上获取dropdownlist选择的值

时间:2016-08-20 09:39:25

标签: asp.net asp.net-mvc asp.net-mvc-4 razor

我使用ListDistrictId来创建模型 这是我的模型:

public class ObjectModel
{
    [Required(ErrorMessage = "Please Select District")]
    [Display(Name = "Select District")]
    public IList<SelectListItem> DistrictNamesModel { get; set; }
    public int DistrictId { get; set; }
  }

以下是我的观点: 通过这种观点,我创建了一个淹没列表,并使用区域值和文本填充它

@model MVCtrendsetters.Models.ObjectModel
....

@using (Html.BeginForm("Insert", "AppForm", FormMethod.Post,                                         new { @enctype = "multipart/form-data" }))
{
    ....
    @Html.DropDownListFor(x => x.DistrictNamesModel, Model.DistrictNamesModel , "--Select--", new { @id = "ddlDistrict"});
    <input type="submit" value="Create" />
}

这是我的控制器: 我使用数据库存储过程,数据库连接和查询类。

ObjectModel OM = new ObjectModel();
DB dd = new DB();
DataSet ds = new DataSet();
ds = dd.getAllDistrict();
List<SelectListItem> DistrictNames = new List<SelectListItem>();
foreach (DataRow item in ds.Tables[0].Rows)
{
    DistrictNames.Add(new SelectListItem { Text = item["CityName"].ToString(), Value = (item["Id"].ToString()) });
}
OM.DistrictNamesModel = DistrictNames;
return View(OM);

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Insert(ObjectModel OM , string DistrictId)
{
    return View(OM);
}

我的问题是如何在DistrictId插入方法中获得[Httpost]。我使用了一个正确填充的下拉菜单。我的表有列名城市和Id。

0 个答案:

没有答案