私は現在、求人掲示板のウェブサイト、具体的には求人検索ページに取り組んでいます。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_SelectedIndexChanged
で選択が変更されたときに SubProcedure が呼び出されないことがわかりましたddlSortDirection
。a が発生していることはわかりますPostBack
が、メソッドは確実に呼び出されていません。私がやろうとしたことは、カスタムイベントハンドラーを持たなくても、イベントを正常にトリガーするDropDownList
のと同じようなものを作成することです!GridView
SelectedIndexChanged
の範囲内DropDownList
でSelectedIndexChanged
イベントを発生させるという私の目標を達成するのを手伝ってくれませんか?HeaderTemplate
GridView