3

我正在工作委员会网站,特别是目前的求职页面。我将找到的作业返回到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'sDataBound事件上创建了一个自定义事件处理程序,如下所示:

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_SelectedIndexChanged更改选择时不会调用 SubProcedure ddlSortDirection。我可以看到PostBack发生了 a ,但绝对没有调用该方法。我尝试做的是在DropDownList外部创建一个类似的GridView并且成功地触发了SelectedIndexChanged事件,甚至没有自定义事件处理程序!

请你能帮助我实现我的目标,即在 a内DropDownList触发SelectedIndexChanged事件吗?HeaderTemplateGridView

4

2 回答 2

1

EnableViewState将该 GridView设置为 false

于 2011-11-28T19:56:26.077 回答
-1

开始runat="server"_DropDownList

例如:

<asp:DropDownList ID="ddlSortDirection" runat="server" AutoPostBack="True" 
            onselectedindexchanged="ddlSortDirection_SelectedIndexChanged">
</asp:DropDownList>
于 2013-01-07T05:31:55.763 回答