Как установить значение по умолчанию «0» для текста «Выбрать» в DropDownList в MVC? - PullRequest
0 голосов
/ 12 февраля 2019

Ниже раскрывающийся список Страны.Я хочу, чтобы выделенный текст «Выбрать» работал.

@Html.DropDownList("ddlCountryName", 
 new SelectList(ViewBag.CountryName, "CountryId", "CountryName"), 
 new { @class = "form-control" })

Теперь я хочу установить значение «0» для текста «Выбрать», который по умолчанию выбран.В настоящее время значение «Выбрать» пустое, как показано ниже.

enter image description here

Как я могу это сделать?Значение «Выбрать» отсутствует в источнике данных.Мне нужно получить доступ к этому выбранному значению в JQuery.

Я пробовал с этими двумя, но ни один из них не работает.

@Html.DropDownList("ddlCountryName", 
new SelectList(ViewBag.CountryName, "CountryId", "CountryName"),
"Select", new { @class = "form-control", @selected = "0" })

И

@Html.DropDownList("ddlCountryName", 
new SelectList(ViewBag.CountryName, "CountryId", "CountryName"),
"Select", new { @class = "form-control", @selected = "0" })

Нижекод контроллера для значений CountryName

ViewBag.CountryName = dbLMS.CountryMasters.Select(c => new { c.CountryId, c.CountryName }).OrderBy(c => c.CountryName).ToList();

Ответы [ 3 ]

0 голосов
/ 12 февраля 2019

Вы можете сделать следующее:

Опция-1:

@{
  var countrySelectList =  new SelectList(ViewBag.CountryName, "CountryId", "CountryName");

  List<SelectListItem> countrySelectListItems  = countrySelectList.ToList();
  countrySelectListItems.Insert(0, (new SelectListItem { Text = "Please select", Value = "0", Selected = true }));
}

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

Опция-2:

В методе контроллера:

List<SelectListItem> selectListItems = dbLMS.CountryMasters.Select(a => new SelectListItem()
{
    Text = a.CountryName,
    Value = a.CountryId
}).ToList();

selectListItems.Insert(0, new SelectListItem(){Text = "Selet Country", Value = "0", Selected = true});
ViewBag.CountrySelectList = selectListItems;

Затем в представлении:

@Html.DropDownList("ddlCountryName", (List<SelectListItem>)ViewBag.CountrySelectList, new { @class = "form-control" })
0 голосов
/ 12 февраля 2019

Вам действительно не нужно значение для выбора.Для модели сохраните обязательный атрибут проверки.

Это обеспечит выбор значения.Таким образом, вам не нужно проверять бэкэнд.

0 голосов
/ 12 февраля 2019

new SelectList(ViewBag.CountryName, "CountryId", "CountryName", //Default value)

...