获取下拉控制器中的选定值

时间:2013-03-14 05:57:57

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

我的观点包含下拉列表。填充下拉列表代码:

public ActionResult Create()
{
  var architects = (from ar in db.ArchitectMasters where ar.IsActive == 1 select ar).ToList();
  ProjectMaster ps = new ProjectMaster();
  ViewBag.ArchitectID = new SelectList(architects, "ArchitectID", "ArchitectName",ps.ArchitectID);
  return View();
}

查看代码:

     <div class="editor-label">
        @Html.Label("Architect")
    </div>
    <div class="editor-field">
         @Html.Hidden("ArchitectID")
         @Html.DropDownList("ArchitectID ", (IEnumerable<SelectListItem>)ViewBag.ArchitectID)
    </div>

发布创建方法:

    public ActionResult Create(ProjectMaster projectmaster, long ArchitectID, FormCollection data)
    {
         if (ModelState.IsValid)
        {
            //string dropDownSelectedValue = data.Get("ArchitectName");
            //ViewBag.ArchitectID = data["ArchitectName"];
            long architectname = long.Parse(ArchitectID.ToString());
             db.ProjectMasters.Add(projectmaster);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
    }

如何在控制器中获取下拉列表的选定值?请帮忙。

1 个答案:

答案 0 :(得分:0)

我猜你可以从Model / FormCollection中检索ActionResult中的选定值。通常遵循以下方式获取控制器中下拉列表的选定值。

public ActionResult Create(ProjectMaster projectmaster, long ArchitectID, FormCollection data)
    {
         if (ModelState.IsValid)
        {
            int id=projectmaster.ArchitectID;
           //another way int id=data["ArchitectID"];  

            return RedirectToAction("Index");
        }
    }