Я только начал развиваться, используя шаблон проектирования MVC 5, я пытаюсь заполнить мою DropDownList
с данными из базы данных, это то, что у меня есть в моей стране модели:MVC5 заселения DropDownList
public class Country
{
public DataTable GetAllCountries()
{
string theSql = "SELECT * FROM Country";
IDataAccess dataAccess = new DataAccess();
return dataAccess.GetData(theSql);
}
}
Тогда в мой контроллер у меня есть:
public ActionResult Index()
{
List<SelectListItem> objResult = new List<SelectListItem>();
Models.Country country = new Models.Country();
DataTable result = country.GetAllCountries();
foreach(DataRow item in result.Rows)
{
SelectListItem temp = new SelectListItem();
temp.Value = item["id"].ToString();
temp.Text = item["country"].ToString();
objResult.Add(temp);
}
ViewBag.DropDownResult = objResult;
return View();
}
Тогда в моей Частичный вид у меня есть:
@model MyProject.Models.Country
@Html.DropDownListFor(ViewBag.DropDownResult as List<SelectListItem>)
Howvever на DropDownListFor
я receieve этой ошибки:
Нет перегрузки для метода «DropDownListFor» принимает аргументы 1
Кто-нибудь знает, что я делаю неправильно? Если я правильно следую примеру MVC?
Спасибо ребята
Добавить объект, в который вы хотите положить товары, чтобы сохранить выбранный товар и использовать его. Рабочий пример кода в этом [post] (http://stackoverflow.com/questions/34300916/dropdownlist-from-ienumerable/34301135#34301135) – Shyju
@Shyju Я добавил свойство только для проверки вещей, но он все еще не работает – KTOV
Добавлено недвижимость где? В вашей модели зрения? Пока вы используете это новое свойство в своем вспомогательном методе DropDownListFor, он должен работать нормально. Взгляните на ссылку, опубликованную в предыдущем комментарии. В нем есть рабочий образец. – Shyju