@ Html.DropDownList, как установить значение по умолчанию ACTIVE - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу, чтобы значение по умолчанию для моего раскрывающегося списка было активным, а не неактивным.

Я пробовал "Выбрано = истина" для активного, но мой выпадающий список всегда показывает, что Incative выбран

<div class="form-group input-group-lg">
  <label>Status</label><br />
   @Html.DropDownList("Status", new List<SelectListItem> { new SelectListItem { Text="Active", Value = "True",Selected=true  }, new SelectListItem { Text="Inactive", Value = "False"} }, "Select The Status..") 
  <br />
   @Html.ValidationMessageFor(model => model.Status, "", new { @class = "text-danger" })
  </div>

Ответы [ 3 ]

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

Используйте третий параметр в качестве значения по умолчанию.

@Html.DropDownList("Status", new List<SelectListItem> { new SelectListItem { Text="Active", Value = "True",Selected=true  }, Model.SomeDefaultValue, "Select The Status..")

Хороший способ создать модель представления и включить все данные в эту модель представления и визуализировать ее следующим образом.

@Html.DropDownList("Status", Model.ListOfSomeThing, Model.SomeDefaultValue, "Select The Status..") 

(Это было бы более чисто.)

Надеюсь, это поможет!

Пример:

ViewModel

 public class SimpleViewModel{
     public List<SelectListItem> Status_List {get; set}
     public string Default_Status {get; set}

     public SimpleViewModel(){
         CustomerList  = new List<SelectListItem>();
         Default_Status= "Active"; //default value.
}

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

public ActionResult Index()
{
   SimpleViewModel viewModel = new SimpleViewModel();
   viewModel.Status_List = // Initialize it here.
   viewModel.Default_Status = // If you want to Change you Default_Status.

   return view(viewModel);
}

Просмотр

   @Html.DropDownList("Customer", Model.CustomerList, Model.Customer)
0 голосов
/ 01 апреля 2019

Я обычно делаю это в контроллере:

private void SetSelectListItem(string currency = null)
{
    ViewBag.Currencies = _currencyService.GetAllCurrencies().Select(x =>
                          new SelectListItem
                          {
                              Value = x.Id.ToString(),
                              Text = x.Name,
                              Selected = x.Id.ToString() == currency
                          }).ToList();
}

и, на мой взгляд, использую DropDownListFor

@Html.DropDownListFor(m => m.Currency, ViewBag.Currencies, new { @class = "form-control", style = "width:100%" })

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

Этот код выглядит нормально, и когда я попробовал этот код, я получил значение Active как выбранное по умолчанию значение.

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