Событие DropDownList SelectedIndexChanged не запускается в GridView HeaderTemplate
Сейчас я работаю над сайтом совета по работе и, в частности, страницей поиска работы. Я возвращаю работу, найденную в 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
"s 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_SelectedIndexChanged
SubProcedure не вызывается, когда выбор изменяется в ddlSortDirection
, Я вижу, что PostBack
происходит, но метод точно не вызывается. То, что я пытался сделать, это создать похожий DropDownList
за пределами GridView
и это успешно вызвало SelectedIndexChanged
событие даже без собственного обработчика событий!
Пожалуйста, не могли бы вы помочь мне достичь моей цели DropDownList
увольнение SelectedIndexChanged
событие, когда в пределах HeaderTemplate
из GridView
?
2 ответа
Задавать runat="server"
на DropDownList
Например:
<asp:DropDownList ID="ddlSortDirection" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlSortDirection_SelectedIndexChanged">
</asp:DropDownList>