2015-05-21 2 views
0

Я пытаюсь разработать веб-сайт, используя asp.net mvc 4 & EF6, где я использую dropdownlist назначить ДАННЫЕ для моих необходимых текстовых полей. До сих пор мне удалось присвоить данные двум текстовым полям, в которых хранится значение выбранного элемента выпадающего списка &, в котором хранится текст, выделенный для выбранного элемента. Но мне нужно добавить другое значение из выбранного элемента. Мои коды ниже,Имея два значения на SelectList() в ASP.NET

Контроллер

ViewBag.Clients = new SelectList(db.ClientInfoes, "age", "fullname"); //This is given 
ViewBag.Clients = new SelectList(db.ClientInfoes, "id", "age", "fullname"); //I want something like this 

Посмотреть

@Html.DropDownList("Clients", "Select...") 

// Textboxes are populated automatically by using jQuery 
@Html.TextBoxFor(a => a.Fullname, new { id = "clientName", @readonly = "readonly" }) 
@Html.TextBoxFor(a => a.Age, new { id = "clientAge", @readonly = "readonly" }) 

Как я могу назначить более одного значения в SelectList? В любом случае я могу это сделать. Нужна эта помощь плохо. Благодарю.

+0

Можете ли вы привести пример того, что текущий тест и какой образец текста вы хотите? –

+0

Вы не можете. Используйте javascript/jquery для обработки события '.change()' выпадающего списка, вызовите метод контроллера, передающий выбранное значение, и верните json со значениями. Но зачем заполнять текстовые поля только для чтения? –

ответ

2

Похоже, что вы хотите, чтобы показать имя и возраст как в раскрывающемся списке текста, в этом случае вам нужно проецировать результат приходя из базы данных:

var ClientInfoes = db.ClientInfoes 
        .Select(x=> 
          new { 
            id = x.id, 
            name = x.fullname+","+x.age 
           }); 

ViewBag.Clients = new SelectList(ClientInfoes, "id", "name"); 
Смежные вопросы