2013-03-14 2 views
1

Я новый для MVC.Как добавить DropDownList в MVC

У меня есть две таблицы в моей базе данных, назовите «компанию» и «отдел» Итак, у одной компании есть много отделений.

В моем проекте я добавляю свою базу данных в модель как модель Entity Model ADO.net. Я создаю первичный ключ и кузницу. Итак, когда я создаю новый отдел, я хочу показать список компаний в выпадающем списке.

Я не знаю, как это сделать?

Стараюсь как этот

@Html.DropDownListFor(model => model.tblCompany.PKComID, Model.tblCompany) 

, но он не работает Как я могу это сделать?

+0

Бесстыдный штекер и, следовательно, только комментарий: Вот как я его использую http://www.basarat.com/2013/03/htmldropdownlistfor-aspnet-mvc-usage.html – basarat

ответ

3

Если у вас есть что-то вроде этого

public class Company 
{ 
    public int PKComID { get; set; } 
    public string Name { get; set; } 
} 

Заполнения ViewBag.AllCompanies свойства в контроллере. Затем используйте этот код на ваш взгляд:

@{ 
    var allCompanies = ViewBag.AllCompanies as IEnumerable<Company>; 
} 
@Html.DropDownListFor(n => n.tblCompany.PKComID, new SelectList(allCompanies, "PKComID", "Name")) 
+0

извините. Это не работает. Он говорит - сообщение об ошибке компилятора: CS1502: Наилучшее перегруженное соответствие метода для «System.Web.Mvc.SelectList.SelectList (System.Collections.IEnumerable, string, string)» имеет некоторые недопустимые аргументы – user1348351

+0

@ user1348351 Извините. Я обновил свой ответ, чтобы быть более полным. –

+0

Спасибо, много – user1348351

0

вы можете попробовать это

Добавить Выберите список в классе модели, как

public SelectList Company { get; set; } 

В контроллере заполнения компании таблицы как

model.Company = new SelectList(CompanyList , "Id", "Name", PKComID); 

Наконец, вы можете связать в поле зрения как

@Html.DropDownListFor(m => model.tblCompany.PKComID, Model.Company , "--Select Company--") 

Надеюсь, это поможет.

Смежные вопросы