2014-10-04 110 views
0

我對MVC很新,需要關於級聯下拉列表的幫助。目的是記錄場地內有故障設備的故障。我有兩張桌子:「場地」和「場地設備」。第一個下拉列表應該是一個場地列表,從列表中選擇一個場地後,它應該填充場地中各種設備類型的另一個下拉列表。我假設用戶只能使用一種設備記錄故障。如何創建級聯下拉列表?

在我的 「FaultsController」 的代碼是:

// GET: Faults/Create 
    public ActionResult Create() 
    { 
     ViewBag.UserID = new SelectList(db.UserTables, "UserID", "UserEMailAddress"); 
     ViewBag.VenueNum = new SelectList(db.VenueEquipmentTables, "VenueEquipmentID",       "VenueNum"); 
     ViewBag.VenueEquipmentID = new SelectList(db.VenueEquipmentTables, "VenueEquipmentID", "VenueEquipmentType"); 

     return View(); 
    } 

在我看來的代碼是:

<div class="form-group"> 
     @Html.LabelFor(model => model.VenueEquipmentID, "Venue Number", htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownList("VenueNum", null, htmlAttributes: new { @class = "form-control" }) 
      @Html.ValidationMessageFor(model => model.VenueEquipmentID, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

    <div class="form-group"> 
     @Html.LabelFor(model => model.VenueEquipmentID, "Venue Equipment Type", htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownList("VenueEquipmentID", null, htmlAttributes: new { @class = "form-control" }) 
      @Html.ValidationMessageFor(model => model.VenueEquipmentID, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

我的模型 - 「FaultTable」 如下:

public partial class FaultTable 
{ 

    public int UserID { get; set; } 
    public int VenueEquipmentID { get; set; } 

    public virtual UserTable UserTable { get; set; } 
    public virtual VenueEquipmentTable VenueEquipmentTable { get; set; } 
} 

回答