2013-09-12 4 views
1

У меня есть несколько объектов, которые я хочу заполнить несколькими раскрывающимися списками в одной форме. Это лучший способ сделать это. Для нескольких моделей в одном представлении я создал viewmodel и ввел в него сущности, но как я могу вернуть список в базе данных, скажем для объекта «Сеть», и заполнить раскрывающееся меню «Name» и «NetworkID»?Несколько раскрывающихся списков, несколько моделей

ответ

1

можно сделать следующим образом:

Проектирование модель:

Подготовить Select List столько выпадающие вы хотите

Для например:

Public class ModelName 
{ 
...// Properties 
public IEnumerable<SelectListItem> ListName1 { get; set; } 
public IEnumerable<SelectListItem> ListName2 { get; set; } 
public IEnumerable<SelectListItem> NetWorkList { get; set; } 
... //etc 
} 

Prepare и список привязки к Типовому в контроллере:

public ActionResult Index(ModelName model) 
    { 
    var networks = // Your network List 
    model.NetWorkList = networks.Select(x=> new SelectListItem() { 
       Text = x.Name, 
       Value = x.NetworkID 
      }); 

    ..// Same as above prepare the list for other dropdowns 

    return View(model); 
    } 

Затем в целях подготовить выпадающий список следующим образом:

@Html.DropDownListFor(m => Model.NetworkID,Model.NetWorkList) 
0

Ну в таком случае вы можете хранить все данные списка модели где-то в модели сценариев Java, а затем с помощью JQuery вы можете связать все DropDown управления с тем же списком моделей.

В качестве альтернативы вы можете получить эти данные с помощью Ajax и связать эти выпадающие списки там в java-скрипте и получить значение, а затем выбросить данные из списка.

2

Сначала создайте модель:

public class Data 
    {  
     public List<tbl_Dept> lstDepatrment; 
     public List<tbl_employees> lstEmployee; 
     //other 
    } 

Тогда просто создать View

@model MVCApp.Models.Data 
@{ 
    var categoryList = Model.lstDepatrment.Select(cl => new SelectListItem 
     { 
      Value = cl.Dept_ID.ToString(), 
      Text = cl.Dept_Description == null ? String.Empty : cl.Dept_Description 
     }); 
    //list for other Drop Down 
} 
@(Html.DropDownList("sampleDropdown", categoryList, "-----Select-----")) 
Смежные вопросы