Gridview Vb到C#代码转换与Raise事件

Gridview Vb到C#代码转换与Raise事件,gridview,vb.net-to-c#,Gridview,Vb.net To C#,我正在尝试转换以下方法的代码。 我不知道该怎么办,因为在C#中没有一个类似的方法来引发这一事件 我想做的是,Gridviewpage index changing被冒泡到我的UI中,这样我就可以在事件中执行一些代码了,现在什么都没有发生,因为这是一个设置为Gridview的自定义寻呼机模板类 public delegate void PageIndexChanging(object sender, GridViewPageEventArgs e); public event

我正在尝试转换以下方法的代码。
我不知道该怎么办,因为在C#中没有一个类似的方法来引发这一事件

我想做的是,
Gridview
page index changing被冒泡到我的UI中,这样我就可以在事件中执行一些代码了,现在什么都没有发生,因为这是一个设置为Gridview的自定义寻呼机模板类

    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
然后在grids init方法中,我将gridpager模板附加到grids.PagerTemplate。。。一切正常,它做第一个,下一个,上一个,最后一个等等。。。我遇到的问题是,在我将代码从Vb.net转换为C#之后,我无法从PagerTemplate类引发事件,以便在网页上执行它

protected void ui_grdGuests_Init(object sender, EventArgs e)
   {

     if (GridPagerTemplate != null)
       {

          ui_grdGuests.PagerTemplate = GridPagerTemplate;
        }
    }
尝试在web表单中放置断点,因为在执行pagertemplate中的代码后,需要在此处获取断点

protected void ui_grdGuests_PageIndexChanging(object sender, GridViewPageEventArgs e)
     {

     }
在C#中,它如下所示:

if (PagerPageIndexChanging != null)[
{
    PagerPageIndexChanging(gridView, new GridViewPageEventArgs(gridView.PageIndex))
}
事先,您需要在某处订阅活动,例如:

gridview.PagerPageIndexChanging += gridview_PagerPageIndexChanging;

其中,
gridview\u pagerPageIndexchange
是一个与上面的代理具有相同签名的方法。

好的,我找到了。我是这样做的

寻呼机模板有一个委托和一个事件

 public delegate void PageIndexChangingHandler(object sender, GridViewPageEventArgs e);

        public event PageIndexChangingHandler PagerPageIndexChanging;


        private void NextLinkBtn_Click(object sender, EventArgs e)
        {


            _gridView = _container.NamingContainer.NamingContainer as GridView;


            if (_gridView != null && (_gridView.PageIndex < _gridView.PageCount - 1))
            {
                _gridView.PageIndex = _gridView.PageIndex + 1;
                _gridView.SelectedIndex = -1;

            }

            FormatPager(_gridView);

            //Raise PagerPageIndexChanging, passing it the GridView instance using this custom pager template.
            if (PagerPageIndexChanging != null)
            {
                PagerPageIndexChanging(_gridView, new GridViewPageEventArgs(_gridView.PageIndex));
            }
        }

我想我还没有完全理解。。。GridView没有PagerPageIndexChanging事件,它有一个_GridView.PageIndexChanging+=新的GridViewPageEventHandler(this._GridView\u PageIndexChanging);所以我试着这么做,但是当它返回到网页时,它再也不会返回到网页上的PageIndexchange方法。我将编辑我的问题,尝试解释更多。
 public delegate void PageIndexChangingHandler(object sender, GridViewPageEventArgs e);

        public event PageIndexChangingHandler PagerPageIndexChanging;


        private void NextLinkBtn_Click(object sender, EventArgs e)
        {


            _gridView = _container.NamingContainer.NamingContainer as GridView;


            if (_gridView != null && (_gridView.PageIndex < _gridView.PageCount - 1))
            {
                _gridView.PageIndex = _gridView.PageIndex + 1;
                _gridView.SelectedIndex = -1;

            }

            FormatPager(_gridView);

            //Raise PagerPageIndexChanging, passing it the GridView instance using this custom pager template.
            if (PagerPageIndexChanging != null)
            {
                PagerPageIndexChanging(_gridView, new GridViewPageEventArgs(_gridView.PageIndex));
            }
        }
 GridPagerTemplate.PagerPageIndexChanging += new Classes.PagerTemplate.PageIndexChangingHandler(GridPagerTemplate_PagerPageIndexChanging);

  void GridPagerTemplate_PagerPageIndexChanging(object sender, GridViewPageEventArgs e)
        {

        }