Почему не происходит событие, когда я меняю выбор в DropDownList? - PullRequest
0 голосов
/ 29 октября 2018

У меня есть этот ящик asp net drp:

<asp:DropDownList ID="ddlLayersList"
        runat="server"
        BackColor="#FFFFC0"
        CssClass="form-control fullwidth" OnTextChanged="ddlLayersList_SelectedIndexChanged" >
</asp:DropDownList>

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

private void SetLayers(Dictionary<string, string> layers)
{
    ddlLayersList.DataSource = layers;
    ddlLayersList.DataValueField = "Key";
    ddlLayersList.DataTextField = "Value";
    ddlLayersList.DataBind();
    ddlLayersList.Items.Insert(0, "-Select Item-");
}

А вот код события:

protected void ddlLayersList_SelectedIndexChanged(object sender, EventArgs e)
{
}       

Когда я выбираю элемент из выпадающего списка, событие не запускается. Есть идеи, почему не происходит событие, когда я меняю выбор на DropDownList?

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Помимо установки AutoPostBack="true" для включения автоматической обратной передачи, также установите обработчик события OnSelectedIndexChanged вместо OnTextChanged (обратите внимание, что оба они не являются одним и тем же событием):

<asp:DropDownList ID="ddlLayersList"
           runat="server"
           BackColor="#FFFFC0"
           AutoPostBack="true"
           CssClass="form-control fullwidth" 
           OnSelectedIndexChanged="ddlLayersList_SelectedIndexChanged">
</asp:DropDownList>
0 голосов
/ 29 октября 2018

Вам необходимо установить для свойства AutoPostBack значение True.

<asp:DropDownList ID="ddlLayersList" AutoPostBack="True">

Стоимость данного имущества:

true, если обратная передача на сервер происходит автоматически всякий раз, когда пользователь меняет выбор списка; иначе ложно. По умолчанию ложно

Также вам нужно установить событие OnSelectedIndexChanged вместо OnTextChanged:

<asp:DropDownList ID="ddlLayersList" 
       AutoPostBack="true" runat="server" 
       OnSelectedIndexChanged="ddlLayersList_SelectedIndexChanged">

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