2016-12-08 7 views
0

Привет Я относительно новичок в MVC. Я создаю одно приложение, где мне нужно заполнить выпадающий список. я должен заполнить значения из свойств, указанных ниже,Выпадающее меню с использованием MVC C#

public class Data 
{ 
    public string to_node_id { get; set; } 
    public Datacenter datacenter { get; set; } 
    public string data_type { get; set; } 
    public string msg_id { get; set; } 
    public string from_type { get; set; } 
    public string from_node_id { get; set; } 
} 

public class Message 
{ 
    public Data data { get; set; } 
} 

public class Datacenter 
{ 
    public string order_id { get; set; } 
    public string lastmodify { get; set; } 
    public string type { get; set; } 
    public string order_type { get; set; } 

} 

Пожалуйста, кто может помочь.

Я использую синтаксис бритвы.

+0

Использование 'коллекции SelectListItem' связать свой ViewModel в выпадающем списке. Покажите, что вы пробовали в поле зрения для этого. –

ответ

0

Это как:

@{ 
     List<SelectListItem> listItems= new List<SelectListItem>(); 
     listItems.Add(new SelectListItem 
      { 
       Text = "Exemplo1", 
       Value = "Exemplo1" 
      }); 
     listItems.Add(new SelectListItem 
      { 
       Text = "Exemplo2", 
       Value = "Exemplo2", 
       Selected = true 
      }); 
     listItems.Add(new SelectListItem 
      { 
       Text = "Exemplo3", 
       Value = "Exemplo3" 
      }); 
    } 

    @Html.DropDownListFor(model => model.order, listItems, "-- Select Order--") 
0

DropDownListFor (или DropDownList) с SelectList является путь.

Я бы предложил создать selectList в действии в контроллере (вместо представления) и отправить его в вид по ViewBag (или ViewData), как это делает Microsoft, когда Visual Studio генерирует форму CRUD ,

0

Использование viewbag для передачи данных, как показано ниже, Вы можете написать в контроллер Для статического списка

var genderlist = new List<SelectListItem> 
{ 
    new SelectListItem { code = "M", name = "Male" }, 
    new SelectListItem { code = "F", name = "Female" }     
}; 
viewbag.genderlist=genderlist; 

же, как и выше вы можете передать динамический список слишком

Теперь на ваш взгляд

@Html.DropDownListFor(model => model.gender, new SelectList(ViewBag.genderlist, "code", "name")); 

Thats it!

+0

Спасибо за ответ. Но я не хочу предоставлять какие-либо ценности. Я просто хочу показать все свойства в раскрывающемся списке. – Dezler

+0

Вам нужна комбинация значений в выпадающем меню, например ? Пожалуйста, объясните свой вопрос. – Divyek

0

Я писал о выпадающих списках здесь: http://davidsonsousa.net/en/post/the-best-way-to-use-dropdownlistfor-with-aspnet-mvc

Но в целом я создаю свои выпадающие списки, имеющие:

  1. Редактор шаблонов - Я могу контролировать внешний вид/чувство или настроить с помощью JavaScript
  2. Вспомогательный класс - я могу контролировать, какие данные будут загружены в выпадающий список
  3. ViewModel для передачи данных с контроллера на вид

Самым важным здесь является вспомогательный класс. И почему так? По 2 причинам:

  1. Поскольку вам нужно будет загрузить значения где-то: DB, текстовый файл, веб-службы или даже жёстко
  2. Вы не будете иметь только один выпадающий список в проекте
0

Используйте функцию JQuery для этого списка

<select id="dropDown"><select> 
var urlpath = '@Url.Action("LoadModule", "MenuOperation")'; 

$.ajax({ 
    url: urlpath, 
    dataType: 'json', 
    async: false, 
    type: "Get", 
    success: function (data) { 
     $('#dropDown').empty(); 
     $('#dropDown').append("<option value='0'>--Select--</option>"); 
     for (var i = 0; i < data.length; i++) { 

      $("#dropDown").append($("<option></option>").val(data[i].Value).html(data[i].Name)); 
     } 
    } 
}); 
Смежные вопросы