2013-03-14 63 views
1

我的視圖包含下拉列表。填充下拉列表代碼:獲取下拉列表控制器中的選定值

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"); 
     } 
    } 

我如何在我的控制器選擇下拉列表的價值?請幫忙。

回答

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"); 
     } 
    } 
相關問題