C# 为什么在GridView中使用PagerTemplate时PageButtonCount不起作用

C# 为什么在GridView中使用PagerTemplate时PageButtonCount不起作用,c#,asp.net,gridview,C#,Asp.net,Gridview,下面是一个GirdView的代码,我在其中使用了一个PagerTemplate,除了属性PagerSettings PageButtonCount=“3”外,它工作正常。 我希望一次只显示三个页码,这通常由PageButtonCount属性完成 Asp.Net <asp:GridView id="grdMovies" DataSourceID="srcMovies" AllowPaging="true" PageSize="3" Runat="ser

下面是一个GirdView的代码,我在其中使用了一个PagerTemplate,除了属性PagerSettings PageButtonCount=“3”外,它工作正常。 我希望一次只显示三个页码,这通常由PageButtonCount属性完成

Asp.Net

<asp:GridView
    id="grdMovies"
    DataSourceID="srcMovies"
    AllowPaging="true"
    PageSize="3"
    Runat="server" 
    PagerSettings-PageButtonCount="3"
    OnDataBound="grdMovies_DataBound">
    <PagerTemplate>
        <table>
            <tr>
                <td>
                    <asp:LinkButton
                    id="lnkPrevious"
                    Text="&lt; Prev"
                    CommandName="Page"
                    CommandArgument="Prev"
                    ToolTip="Previous Page"
                    Runat="server" />
                </td>
                <td>
                    <asp:Menu
                    id="menuPager"
                        Orientation="Horizontal"
                    OnMenuItemClick="menuPager_MenuItemClick"
                    CssClass="menu"
                    Runat="server" />
                </td>
                <td>
                    <asp:LinkButton
                    id="lnkNext"
                    Text="Next &gt;"
                    CommandName="Page"
                    CommandArgument="Next"
                    ToolTip="Next Page"
                    Runat="server" />
                </td>
          </tr>
        </table>
    </PagerTemplate>
</asp:GridView>

C#代码

 <script runat="server">
        protected void grdMovies_DataBound(object sender, EventArgs e)
        {
            Menu menuPager = (Menu)grdMovies.BottomPagerRow.FindControl("menuPager");
            for (int i = 0; i < grdMovies.PageCount; i++)
            {
                MenuItem item = new MenuItem();
                item.Text = (i + 1).ToString();
                item.Value = i.ToString();
                if (grdMovies.PageIndex == i)
                item.Selected = true;
                menuPager.Items.Add(item);
            }
         }
        protected void menuPager_MenuItemClick(object sender, MenuEventArgs e)
        {
            grdMovies.PageIndex = Int32.Parse(e.Item.Value);
        }
    </script>

受保护的无效grdMovies_数据绑定(对象发送方、事件参数e)
{
菜单菜单管理器=(菜单)grdMovies.BottomPagerRow.FindControl(“菜单管理器”);
对于(int i=0;i
我怎样才能做到这一点。
谢谢..

我想您需要在gridview中添加此属性

PagerSettings-Mode="NumericFirstLast"

@AnilKumar你找到答案了吗?如果是的话,你能在这里发帖吗