gridview - DropDownList SelectedIndexChanged 事件未在 GridView HeaderTemplate 内触发

标签 gridview drop-down-menu selectedindexchanged

我目前正在一个求职网站上工作,特别是求职页面。我将找到的作业返回到 DataBound GridView (即 gvwJobs),并且在 HeaderTemplate 中我有一个DropDownList 名为 ddlSortDirection,指定执行排序的方向:

<asp:DropDownList runat="server" ID="ddlSortDirection" AutoPostBack="true" OnSelectedIndexChanged="ddlSortDirection_SelectedIndexChanged">

    <asp:ListItem Value="DESC">DOWN</asp:ListItem>
    <asp:ListItem Value="ASC">UP</asp:ListItem>

</asp:DropDownList>

如您所见,我已确保 AutoPostBack 处于打开状态。我还在 GridView 的 DataBound 事件上创建了一个自定义事件处理程序,如下所示:

Protected Sub gvwJobs_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvwJobs.RowDataBound

    If e.Row.RowType = DataControlRowType.Header Then

                ddlSortDirection.AutoPostBack = True
                AddHandler ddlSortDirection.SelectedIndexChanged, AddressOf ddlSortDirection_SelectedIndexChanged


     End If

End Sub

我发现在 ddlSortDirection 中更改选择时,不会调用 ddlSortDirection_SelectedIndexChanged SubProcedure。我可以看到发生了 PostBack,但该方法肯定没有被调用。我尝试做的是在 GridView 之外创建一个类似的 DropDownList ,并且成功触发了 SelectedIndexChanged 事件,甚至没有自定义事件处理程序!

请您帮助我实现让 DropDownListHeaderTemplate 内触发 SelectedIndexChanged 事件的目标GridView

最佳答案

将该 GridView 的 EnableViewState 设置为 false

关于gridview - DropDownList SelectedIndexChanged 事件未在 GridView HeaderTemplate 内触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109164/

相关文章:

wpf - GridView 中的两种数据绑定(bind)方式

html - 使用CSS在悬停时扩展下拉菜单

css - 纯CSS下拉菜单(子菜单不能转义div标签)

C# 组合框 SelectedValue Null

android - Tab+滑动手势、自定义 GridView 、 fragment

wpf - 更改 ListView 中 GridView 行的背景颜色

html - 将第二个下拉菜单添加到第一个下拉菜单

c# - ASP.NET/C# : DropDownList SelectedIndexChanged in server control not firing

asp.net - DropDownList OnSelectedIndexChange to 0th index w/out ViewState

c# - GridView 选择