DropDownList SelectedIndexChanged事件未在GridView HeaderTemplate内触发

DropDownList SelectedIndexChanged事件未在GridView HeaderTemplate内触发,gridview,drop-down-menu,selectedindexchanged,Gridview,Drop Down Menu,Selectedindexchanged,我现在正在一个招聘网站上工作,特别是在求职页面上。我正在将找到的作业返回到数据绑定网格视图(即gvwJobs),并且在HeaderTemplate中,我有一个名为ddlSortDirection的DropDownList,它指定了执行排序的方向: <asp:DropDownList runat="server" ID="ddlSortDirection" AutoPostBack="true" OnSelectedIndexChanged="ddlSortDirection_Selecte

我现在正在一个招聘网站上工作,特别是在求职页面上。我正在将找到的作业返回到
数据绑定
网格视图
(即
gvwJobs
),并且在
HeaderTemplate
中,我有一个名为
ddlSortDirection
DropDownList
,它指定了执行排序的方向:

<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>
我发现在
ddlSortDirection
中更改选择时,不会调用
ddlSortDirection\u SelectedIndexChanged
子过程。我可以看到发生了
PostBack
,但该方法肯定没有被调用。我尝试做的是在
GridView
之外创建一个类似的
DropDownList
,它成功地触发了
SelectedIndexChanged
事件,甚至没有自定义事件处理程序


请您帮助我实现我的目标,即在
GridView
HeaderTemplate
内时,
DropDownList
触发
SelectedIndexChanged
事件?

将该GridView的
启用视图状态设置为false

DropDownList
上设置
runat=“server”

例如:


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
<asp:DropDownList ID="ddlSortDirection" runat="server" AutoPostBack="True" 
            onselectedindexchanged="ddlSortDirection_SelectedIndexChanged">
</asp:DropDownList>