我目前正在一个求职网站上工作,特别是求职页面。我将找到的作业返回到 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 事件,甚至没有自定义事件处理程序!
请您帮助我实现让 DropDownList
在 的
?HeaderTemplate
内触发 SelectedIndexChanged
事件的目标GridView
最佳答案
将该 GridView 的 EnableViewState
设置为 false
关于gridview - DropDownList SelectedIndexChanged 事件未在 GridView HeaderTemplate 内触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109164/