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のイベントにカスタム イベント ハンドラも作成しました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のと同じようなものを作成することです!GridViewSelectedIndexChanged

の範囲内DropDownListSelectedIndexChangedイベントを発生させるという私の目標を達成するのを手伝ってくれませんか?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 に答える