Я пытаюсь заполнить данные в раскрывающемся списке на неполной странице и вызываю их на странице макета. Я получаю нулевую ссылку. Я попытался сделать это с помощью представления и мог заполнить данные в раскрывающемся списке, но когда я пробую это в частичном представлении и затем вызываю его на странице макета, я получаю сообщение об ошибке, это ошибка в коде частичного просмотра страницы @ Html .DropDownListFor (m => m.SiteId, Model.SiteNames)
Ошибка: для ссылки на объект не задан экземпляр объекта.
Контроллер
public List<SelectListItem> GetPopulateDropDown()
{
List<SelectListItem> names = _db.Sites.Select(n => new SelectListItem { Text = n.SiteId.ToString(), Value = n.Name }).ToList();
return names;
}
public ActionResult PopulateDropDown()
{
var DashboardList = GetPopulateDropDown();
var dropdownData = DashboardList
.Select(d => new SelectListItem
{
Text = d.Text, //Need to apply the correct text field here
Value = d.Value //Need to apply the correct value field here
})
.ToList();
dropdownData.Add(new SelectListItem { Text= "a", Value="1"});
var model = new SiteListViewModel
{
SiteNames = dropdownData
};
return PartialView(model);
}
PartialView
@model MeterPortal.ViewModels.PremiseMeter.SiteListViewModel
@Html.DropDownListFor(m=>m.SiteId, Model.SiteNames)
Модель
public int SiteId { get; set; }
public string SiteName { get; set; }
public IEnumerable<SelectListItem> SiteNames { get; set; }