сохранить выбранное значение для выпадающего меню после отправки бритвы - PullRequest
0 голосов
/ 02 апреля 2019

Как сохранить выбранное значение в раскрывающемся списке после использования кнопки отправки?

@{
    var list = new SelectList(new[]
        {
            new {ID="A", Name="All"},
            new {ID="S", Name="Success"},
            new {ID="P", Name="Pending"},
            new {ID="F", Name="Failed"},
        },
        "ID", "Name", 0);
}
@Html.DropDownList("drpStatus", list, new { htmlAttributes = new { @class = "form-control" } })

1 Ответ

1 голос
/ 04 апреля 2019

Извините за поздний ответ. Вот мой код.

Просмотр кода:

@Html.DropDownList("drpStatus", (IEnumerable<SelectListItem>)ViewData["drp_bind"])

Код контроллера:

List<SelectListItem> drpStatus = new List<SelectListItem>() {
   new SelectListItem {
       Text = "All", Value = "A" 
   },
   new SelectListItem {
       Text = "Success", Value = "S"
   },
   new SelectListItem {
       Text = "Pending", Value = "P"
   },
   new SelectListItem {
       Text = "Failed", Value = "F"
   },

};
ViewData["drp_bind"] = drpStatus;

Вот как я связываю свой выпадающий список.

Теперь основная логика для сохранения выбранного значения для раскрывающегося списка после отправки:

if (Request.QueryString["Status"] != null)
{
     ViewData["Status"] = HttpUtility.UrlDecode(Convert.ToString(Request.QueryString["Status"]));
     if (ViewData["Status"] != null)

     drpStatus.Where(i => i.Value == ViewData["Status"].ToString()).First().Selected = true;
     ViewData["drp_bind"] = drpStatus;
}

Request.QueryString["Status"] != in this я сохраняю выбранное значение в раскрывающемся списке ...

...