0

次のメソッドのコードを変換しようとしています。
イベントを発生させるC#に相当するものがないため、どうすればよいかわかりません。

私がしたいのは、Gridviewページ インデックスの変更が UI にバブルアップされ、イベントでコードを実行できるようになり、これはグリッドビューに設定されたカスタム ページャー テンプレート クラスであるため、何も起こらないことです。

    public delegate void PageIndexChanging(object sender, GridViewPageEventArgs e);
     public event  PageIndexChanging PagerPageIndexChanging;

    Private Sub NextLinkBtn_Click(ByVal Sender As Object, ByVal e As EventArgs) Handles NextLinkBtn.Click

    Dim gridView As GridView = _container.NamingContainer.NamingContainer

    If (gridView.PageIndex < gridView.PageCount - 1) Then
        gridView.PageIndex = gridView.PageIndex + 1

    End If

    FormatPager(gridView)

    'Raise PagerPageIndexChanging, passing it the GridView instance using this custom pager template.
    RaiseEvent PagerPageIndexChanging(gridView, New GridViewPageEventArgs(gridView.PageIndex))

End Sub

質問の詳細。

aspnet ページにグリッドビューがあります。pagertemplate のクラス レベル変数があります。

 public PagerTemplate GridPagerTemplate = new PagerTemplate();

次に、グリッドの init メソッドで、gridpager テンプレートを grids.PagerTemplate にアタッチします...すべてが機能し、最初の次の前の最後などを実行します...私が抱えている問題は、コードを Vb.net から C# に変換した後です。 Webページで実行するためにPagerTemplateクラスからイベントを発生させることはできません...

protected void ui_grdGuests_Init(object sender, EventArgs e)
   {

     if (GridPagerTemplate != null)
       {

          ui_grdGuests.PagerTemplate = GridPagerTemplate;
        }
    }

Web フォームのここにブレーク ポイントを配置しようとしています。これは、ページャー テンプレートでコードを実行した後にブレーク ポイントを取得する必要があるためです。

protected void ui_grdGuests_PageIndexChanging(object sender, GridViewPageEventArgs e)
     {

     }
4

2 に答える 2