Выпадающее событие не запускается

#asp.net #gridview #drop-down-menu #aspxgridview

#asp.net #просмотр сетки #выпадающее меню #aspxgridview

Вопрос:

У меня есть выпадающий список в HeaderTemplate сетки, я написал некоторый код на стороне сервера для события SelectedIndexChanged этого выпадающего списка, но это событие никогда не срабатывает. Я также включил состояние просмотра выпадающего списка и страницы в true Ant ide, в чем должна быть проблема

Комментарии:

1. Вы установили для параметра autopostback выпадающего списка значение true?

2. Покажите нам соответствующий код, в котором вы создали выпадающий список и где вы привязываете его к источнику данных (или вы добавили элементы).

Ответ №1:

Я решил эту проблему в своей среде…. Пожалуйста, ознакомьтесь с приведенным ниже кодом..

Это моя gridview страница в aspx.

  <asp:GridView ID="grvGrid" runat="server" AllowPaging="True"   
            AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="CustomerID" OnRowDataBound="grvGrid_RowDataBound">  
            <Columns>  
                <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True"   
                    SortExpression="CustomerID" />  
                <asp:BoundField DataField="CompanyName" HeaderText="CompanyName"   
                    SortExpression="CompanyName" />  
               <asp:TemplateField>
                    <HeaderTemplate>
                        <%--<asp:Label ID="lblMon1" runat="server"></asp:Label>--%>
                        <asp:DropDownList id="ddlMon" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlMon_SelecdtedIndexChanges">
                            <asp:ListItem Text="1" Value="1" Selected="True">1</asp:ListItem>
                            <asp:ListItem Text="2" Value="2">2</asp:ListItem>
                            <asp:ListItem Text="3" Value="3">3</asp:ListItem>
                        </asp:DropDownList>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblblbl" runat="server"></asp:Label>
                    </ItemTemplate>
               </asp:TemplateField>
            </Columns>  
        </asp:GridView> 
  

Получить привязку к просмотру сетки в событии загрузки страницы

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            GetTable();
            grvGrid.DataSource = dstable;
            grvGrid.DataBind();
        }
    }
  

Найдите выпадающий элемент управления и свяжите его с событием

 protected void grvGrid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (Page.IsPostBack)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {
                DropDownList ddlmon = e.Row.FindControl("ddlMon") as DropDownList;
                ddlmon.SelectedIndexChanged  = new EventHandler(ddlMon_SelecdtedIndexChanges);
            }
        }
    }
  

Выпадающий выбранный индекс изменяет событие

 protected void ddlMon_SelecdtedIndexChanges(object sender, EventArgs e)
    {
        // Your Code paste here
    }
  

Комментарии:

1. Вы получили свой ответ нет!!!! вы должны принять свой ответ, если это правильно!!!!

Ответ №2:

Возможная проблема здесь в том, что вы DropDownList можете не установить свойство

 AutoPostBack="true" try add this to your `DropDownList`