Je travaille sur un site Web d'offres d'emploi et plus précisément sur la page de recherche d'emploi en ce moment. Je retournais les emplois trouvés dans un DataBound
GridView
(à savoir gvwJobs
), et dans le HeaderTemplate
j'ai un DropDownList
nommé ddlSortDirection
qui indique la direction dans laquelle le tri est effectué:DropDownList Evénement SelectedIndexChanged ne se déclenche pas dans GridView HeaderTemplate
<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>
Comme vous pouvez le voir, je assuré que AutoPostBack
est activé. J'ai aussi créé un gestionnaire d'événements personnalisé sur l'événement de DataBound
GridView
comme si:
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
Je trouve que le ddlSortDirection_SelectedIndexChanged
n'est pas appelée sous-procédure lorsque la sélection est modifiée en ddlSortDirection
. Je peux voir qu'un PostBack
se produit, mais la méthode n'est certainement pas appelée. Ce que j'ai essayé de faire est de créer un DropDownList
similaire en dehors du GridView
et qui a déclenché avec succès l'événement SelectedIndexChanged
sans même avoir un gestionnaire d'événement personnalisé!
S'il vous plaît pourriez-vous m'aider à atteindre mon objectif d'avoir un DropDownList
tir l'événement SelectedIndexChanged
lorsque dans un HeaderTemplate
d'un GridView
?