0

グリッドビューにボタンがあり、グリッドに多くの行が含まれることがあります

<asp:TemplateField HeaderText="DDT">
                <ItemTemplate> 
                    <asp:Button ID="DdtUnit" runat="server" Text=" -1 "  
                    CommandName="DdtUnit" 
                    CommandArgument='<%# Eval("CaseID")+ ";" + Eval("CaseworkerID")+ ";" + Eval("EventDate")+ ";" + Eval("EventID")+ ";" + ("-1")+";"+((GridViewRow)Container).RowIndex%>'/>
                </ItemTemplate> 
            </asp:TemplateField>

コマンド引数がストアド プロシージャに渡されると、Response.Redirect(Request.RawUrl);

次に、同じ行に移動するだけでページの同じ場所に戻りたいと思いますが、クリックしたばかりの同じボタンにフォーカスすることをお勧めします。

ページディレクティブで設定しようとしMaintainScrollPositionOnPostBack ="true"ましたが、IEでは機能しませんでした(現時点ではIEにのみ興味があります)

((GridViewRow)Container).RowIndexだから私はセッション変数に渡そうとしました

 protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack == false)
            {
                BindGridVeiw_Timeevents(MainCaseRef);
                Timeevents.Rows[MySession.Current.gridFocusIndex].Focus();
            }


        }

しかし、どこにも行きません。何が欠けていますか?

編集:

 protected void Timeevents_RowCommand(object sender, GridViewCommandEventArgs e)
        {

            GridViewRow row = (GridViewRow)(((Button)e.CommandSource).NamingContainer);
}

私はどこかに着いていると思います!少なくとも、コマンド引数の最後にこれはもう必要ありません

+";"+((GridViewRow)Container).RowIndex

今、私は実際のボタンを取得する必要があります(各行に複数のボタンがあることについては言及しませんでした)

4

0 に答える 0