次のメソッドのコードを変換しようとしています。
イベントを発生させる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)
{
}