2014-10-04 3 views
0

Я очень новичок в MVC и нуждаюсь в помощи относительно каскадных dropdownlists. Цель заключается в регистрации неисправности с неисправным оборудованием в месте проведения. У меня есть две таблицы: «Место проведения» и «Место проведения». Первым выпадающим списком должен быть список мест и при выборе места проведения из списка, он должен заполнить еще один выпадающий список с различными типами оборудования в месте проведения. Я предполагаю, что пользователь может регистрировать ошибку только с одним типом оборудования.Как создать каскадный выпадающий список?

код в моем "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; } 
} 

ответ

0

Вам нужно создать отдельное действие, которое возвращает JSON для зависимого выпадающего списка, а затем вызовет событие изменения и внутри этого события cal l действие через jQuery и привязать другое выпадающее меню.

Некоторые примеры

  1. http://www.c-sharpcorner.com/UploadFile/4d9083/creating-simple-cascading-dropdownlist-in-mvc-4-using-razor/
  2. http://www.codeproject.com/Articles/730953/Cascading-Dropdown-List-With-MVC-LINQ-to-SQL-and-A
Смежные вопросы