Вот пошаговое объяснение использования DropDownListFor помощника в вашем случае.
Создайте модель, которая будет содержать коллекцию SelectListItem экземпляров.
public class MyModel
{
public List<SelectListItem> TaxIDType = new List<SelectListItem>()
{
new SelectListItem() { Text = "FEIN", Value = "FEIN" },
new SelectListItem() { Text = "SSN", Value = "SSN" }
};
}
Примечание: если вы хотите, вы можете даже сделать свойство static
, однако вам нужно будет изменить способ ссылки на свойство в посмотреть (объясню в конце концов)
Создайте модель и передайте ее представлению.
public ActionResult Index()
{
var viewModel = new MyModel();
return View(viewModel);
}
В представлении укажите, что ваше представление использует класс MyModel. Вы можете сделать это, поместив помощник @model
в верхней части окна (файл .cshtml
).
@model WebApplication3.Controllers.MyModel
Здесь WebApplication3.Controllers
- это пространство имен вашей модели. и MyModel
это его имя. Не используйте перечисленные пространство имен и модель, но измените их на свои.
Используйте помощник DropDownListFor следующим образом:
@Html.DropDownListFor(x => ??, Model.TaxIDType)
В этом примере Model - это свойство, которое заполняется платформой, чтобы позволить вашему тузу css a Экземпляр класса, который вы передаете в методе View()
внутри контроллера. (MyModel
экземпляр в этом случае). Написав Model.TaxIDType, вы ссылаетесь на свойство, которое содержит список элементов для заполнения выпадающего списка. Обратите внимание, что свойство в модели не помечено как static
, поэтому мы должны получить к нему доступ через ссылку на экземпляр (модель). Тем не менее, вы действительно можете сделать свойство static
. В этом случае вам потребуется изменить вид использования на следующее:
@Html.DropDownListFor(x => ??, MyModel.TaxIDType)
Последнее, что необходимо упомянуть: взгляните на вопросительные знаки. Чтобы вернуть выбранное значение обратно, вам необходимо сопоставить его с моделью. Один из способов сделать это - расширить модель.
public class MyModel
{
public string SelectedTaxIdType { get; set; }
public List<SelectListItem> TaxIDType = new List<SelectListItem>()
{
new SelectListItem() { Text = "FEIN", Value = "FEIN" },
new SelectListItem() { Text = "SSN", Value = "SSN" }
};
}
и изменить вид
@Html.DropDownListFor(x => x.SelectedTaxIdType, Model.TaxIDType)