Элементы DropDownList повторяют свое значение после каждого постбэка - PullRequest
2 голосов
/ 12 июня 2019

В раскрывающемся списке отображается следующее значение после привязки:

  • 1-й приоритет Низкий
  • 2-й приоритет Средний
  • 3-й приоритет Высокий

Раскрывающееся меню показывает следующее значение после каждой обратной передачи:

  • 1-й приоритет Низкий
  • 2-й приоритет Средний
  • 3-й приоритет Высокий
  • 1-й приоритет Низкий
  • 2-й приоритет Средний
  • 3-й приоритет Высокий

Вот код:

protected void Page_Load(object sender, EventArgs e)
{
   DropDownList1.DataSource = db.ComplaintTypes.ToList();
   DropDownList1.DataTextField = "ct_Name";
   DropDownList1.DataBind();

   cboCpriority.DataSource = db.ComplaintPriorities.ToList();
   cboCpriority.DataTextField = "cp_Desc";
   cboCpriority.DataBind();

   ...
}      

1 Ответ

5 голосов
/ 12 июня 2019

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

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        DropDownList1.DataSource = db.ComplaintTypes.ToList();
        DropDownList1.DataTextField = "ct_Name";
        DropDownList1.DataBind();

        cboCpriority.DataSource = db.ComplaintPriorities.ToList();
        cboCpriority.DataTextField = "cp_Desc";
        cboCpriority.DataBind();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...