Как получить DropDownListFor для работы с IEnumerable <SelectList>со страницей cshtml? - PullRequest
1 голос
/ 17 апреля 2019

Мой раскрывающийся список может отображаться, но он всегда пуст.

Я пытался использовать ViewBag, DropDownList и List, но ни один из них не заполнит раскрывающийся список для меня.

Модель

public IEnumerable<SelectListItem> AccountTypeECheck { get; set; }

Контроллер

ViewBag.AccountTypeECheck = new List<SelectListItem>() { 
    new SelectListItem() { 
        Value = "creditCard", 
        Text = "creditCard" 
    }
};

Вид

@Html.DropDownList(
    "value", 
    (IEnumerable<SelectListItem>) ViewBag.AccountTypeECheck, 
    null, 
    new { @class ="form-control" }
)

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Вы пропустили модель, попробуйте это:

Модель:

public IEnumerable<SelectListItem> AccountTypeECheck { get; set; }

public string AccountType {get;set;}

Метод действия:

var model = new Model();
model.AccountTypeECheck = new List<SelectListItem>() { 
    new SelectListItem() { 
        Value = "creditCard", 
        Text = "creditCard" 
    }
};

return View(model);

Просмотр:

@model Model
@Html.DropDownListFor(x => x.AccountType, Model.AccountTypeECheck)
0 голосов
/ 17 апреля 2019

Попробуйте:

Контроллер:

var selectListItems = new List<SelectListItem>() { new SelectListItem() { Value = "creditCard", Text = "creditCard" } };
ViewBag.AccountTypeECheck = new SelectList(selectListItems, "Value", "Text");

Представление:

@Html.DropDownList("AccountTypeECheck", null, new { @class ="form-control" })

Используйте имя свойства ViewBag (в вашем примере AccountTypeECheck) как параметр name для DropDownList.

Ссылка: Использование помощника DropDownList с ASP.NET MVC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...