想要做无刷新分页,就使用了AspNetPager控件,分页是实现了但是还是会刷新。
使用的是三层存储过程的。
下面是代码:
html:
<center>
                        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound"
                            OnRowDeleting="GridView1_RowDeleting" Width="900px">
                            <Columns>
                                <asp:HyperLinkField DataNavigateUrlFields="Account_id" DataNavigateUrlFormatString="Areasheng.aspx?id={0}"
                                    DataTextField="Account_email" HeaderText="会员账号" />
                                <asp:TemplateField HeaderText="所属区域">
                                    <ItemTemplate>
                                        <asp:Label ID="Label2" runat="server" Text='<%# ShowClass(Eval("Area_id")) %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="Account_time" DataFormatString="{0:f}" HeaderText="最后登录时间"
                                    HtmlEncode="False" />
                                <asp:BoundField DataField="Account_hits" HeaderText="登陆次数" />
                                <asp:TemplateField HeaderText="限制会员">
                                    <ItemTemplate>
                                        <asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Account_check").ToString()=="1"?"没有限制":"限制会员" %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:HyperLinkField DataNavigateUrlFields="Account_id" DataNavigateUrlFormatString="AccountModify.aspx?id={0}"
                                    HeaderText="修改" Text="修改" />
                                <asp:CommandField CausesValidation="False" HeaderText="删除" ShowDeleteButton="True" />
                            </Columns>
                        </asp:GridView>
                        &nbsp;</center>
                    <center>
                        <table align="center" border="0" cellspacing="0" width="900">
                            <tr>
                                <td align="center" style="height: 28px">
                                    <webdiyer:AspNetPager ID="AspNetPager1" runat="server" FirstPageText="首页" LastPageText="尾页"
                                        NextPageText="下一页" PageSize="1" PrevPageText="上一页"
                                        ShowPageIndexBox="Always" SubmitButtonText="Go" TextAfterPageIndexBox="页" TextBeforePageIndexBox="转到" OnPageChanged="AspNetPager1_ChangePage">
                                    </webdiyer:AspNetPager>
                                    &nbsp;
                                </td>
                            </tr>
                        </table>
                    </center>
.cs代码:
    /// <summary>
    /// 绑定数据
    /// </summary>
    protected void BindGrid()
    {
        AspNetPager1.RecordCount = account.Exists();//返回库里所有记录数
        if (account.Exists() != 0)
        {
            GridView1.DataSource = account.GetList(AspNetPager1.StartRecordIndex, AspNetPager1.EndRecordIndex);//自动生成需要地存储过程,
            GridView1.DataKeyNames = new string[] { "Account_id" };
            GridView1.DataBind();
        }
        else
        {
            lblmess.Visible = true;
            lblmess.Text = "对不起,没有记录,您可以添加会员!";
        }
    }
 /// <summary>
    /// 无刷新分页绑定
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public void AspNetPager1_ChangePage(object src, EventArgs e)
    {
        this.GridView1.PageIndex = AspNetPager1.CurrentPageIndex - 1;
        BindGrid();
    }

解决方案 »

  1.   

    存储过程就是自动生成的进行了一下修改:
    ALTER procedure [dbo].[UP_Account_Page] 
    (@startIndex int,
    @endIndex int)
    asbegin
     with temptbl as (
    SELECT ROW_NUMBER() OVER (ORDER BY Account_id desc)AS Row, * from Account )
     SELECT * FROM temptbl where Row between @startIndex and @endIndex
    end
      

  2.   

    已经放在UpdatePanel里面了,但是不管用!
    <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <center>
                <table align="center" border="0" cellspacing="0" width="900">
                    <tr>
                        <td align="right" style="width: 296px; height: 28px">
                            &nbsp;请输入会员账号:</td>
                        <td align="left" style="width: 238px; height: 28px">
                            &nbsp;<asp:TextBox ID="txtkey" runat="server"></asp:TextBox><asp:RequiredFieldValidator
                                ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtkey" ErrorMessage="不能为空!"></asp:RequiredFieldValidator></td>
                        <td align="left" style="height: 28px">
                            &nbsp;<asp:Button ID="Button1" runat="server" OnClick="btnsel_Click" Text="搜索" /></td>
                    </tr>
                </table>
            </center>
                    <center>
                            <asp:Label ID="lblmess" runat="server" Style="color: #ff0000" Text="Label" Visible="False"></asp:Label>&nbsp;</center>
                        <center>
                            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound"
                                OnRowDeleting="GridView1_RowDeleting" Width="900px">
                                <Columns>
                                    <asp:HyperLinkField DataNavigateUrlFields="Account_id" DataNavigateUrlFormatString="Areasheng.aspx?id={0}"
                                        DataTextField="Account_email" HeaderText="会员账号" />
                                    <asp:TemplateField HeaderText="所属区域">
                                        <ItemTemplate>
                                            <asp:Label ID="Label2" runat="server" Text='<%# ShowClass(Eval("Area_id")) %>'></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:BoundField DataField="Account_time" DataFormatString="{0:f}" HeaderText="最后登录时间"
                                        HtmlEncode="False" />
                                    <asp:BoundField DataField="Account_hits" HeaderText="登陆次数" />
                                    <asp:TemplateField HeaderText="限制会员">
                                        <ItemTemplate>
                                            <asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Account_check").ToString()=="1"?"没有限制":"限制会员" %>'></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:HyperLinkField DataNavigateUrlFields="Account_id" DataNavigateUrlFormatString="AccountModify.aspx?id={0}"
                                        HeaderText="修改" Text="修改" />
                                    <asp:CommandField CausesValidation="False" HeaderText="删除" ShowDeleteButton="True" />
                                </Columns>
                            </asp:GridView>
                            &nbsp;</center>
                        <center>
                            <table align="center" border="0" cellspacing="0" width="900">
                                <tr>
                                    <td align="center" style="height: 28px">
                                        <webdiyer:AspNetPager ID="AspNetPager1" runat="server" FirstPageText="首页" LastPageText="尾页"
                                            NextPageText="下一页" PageSize="1" PrevPageText="上一页"
                                            ShowPageIndexBox="Always" SubmitButtonText="Go" TextAfterPageIndexBox="页" TextBeforePageIndexBox="转到" OnPageChanged="AspNetPager1_ChangePage" UrlPaging="True">
                                        </webdiyer:AspNetPager>
                                        &nbsp;
                                    </td>
                                </tr>
                            </table>
                        </center>
                        <center>
                            &nbsp;</center>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="AspNetPager1" EventName="PageChanged" />
                </Triggers>
            </asp:UpdatePanel>  
      

  3.   

    试下aspnetpage下的 UrlPaging=false
      

  4.   

    其实用UpdatePanel实现无刷新分页应该是很简单的,不过要注意不能使用URL分页。你那个好象Triggers不用加吧。aspnetpager这控件我只用过几天,具体不知道是不是这个问题控件设置有误,试试楼上的设置
      

  5.   

    改过来了但是还是会刷新的:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Account.aspx.cs" Inherits="HKbusiness_Account" %><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        Namespace="System.Web.UI" TagPrefix="asp" %><%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>管理信息会员</title>
    </head>
    <body>
        <form id="form1" runat="server">
           <div>
           <center>&nbsp;</center>
            <center>
                &nbsp;</center>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <center>
                <table align="center" border="0" cellspacing="0" width="900">
                    <tr>
                        <td align="right" style="width: 296px; height: 28px">
                            &nbsp;请输入会员账号:</td>
                        <td align="left" style="width: 238px; height: 28px">
                            &nbsp;<asp:TextBox ID="txtkey" runat="server"></asp:TextBox><asp:RequiredFieldValidator
                                ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtkey" ErrorMessage="不能为空!"></asp:RequiredFieldValidator></td>
                        <td align="left" style="height: 28px">
                            &nbsp;<asp:Button ID="Button1" runat="server" OnClick="btnsel_Click" Text="搜索" /></td>
                    </tr>
                </table>
            </center>
                    <center>
                            <asp:Label ID="lblmess" runat="server" Style="color: #ff0000" Text="Label" Visible="False"></asp:Label>&nbsp;</center>
                        <center>
                            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound"
                                OnRowDeleting="GridView1_RowDeleting" Width="900px">
                                <Columns>
                                    <asp:HyperLinkField DataNavigateUrlFields="Account_id" DataNavigateUrlFormatString="Areasheng.aspx?id={0}"
                                        DataTextField="Account_email" HeaderText="会员账号" />
                                    <asp:TemplateField HeaderText="所属区域">
                                        <ItemTemplate>
                                            <asp:Label ID="Label2" runat="server" Text='<%# ShowClass(Eval("Area_id")) %>'></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:BoundField DataField="Account_time" DataFormatString="{0:f}" HeaderText="最后登录时间"
                                        HtmlEncode="False" />
                                    <asp:BoundField DataField="Account_hits" HeaderText="登陆次数" />
                                    <asp:TemplateField HeaderText="限制会员">
                                        <ItemTemplate>
                                            <asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Account_check").ToString()=="1"?"没有限制":"限制会员" %>'></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:HyperLinkField DataNavigateUrlFields="Account_id" DataNavigateUrlFormatString="AccountModify.aspx?id={0}"
                                        HeaderText="修改" Text="修改" />
                                    <asp:CommandField CausesValidation="False" HeaderText="删除" ShowDeleteButton="True" />
                                </Columns>
                            </asp:GridView>
                            &nbsp;</center>
                        <center>
                            <table align="center" border="0" cellspacing="0" width="900">
                                <tr>
                                    <td align="center" style="height: 28px">
                                        <webdiyer:AspNetPager ID="AspNetPager1" runat="server" FirstPageText="首页" LastPageText="尾页"
                                            NextPageText="下一页" PageSize="1" PrevPageText="上一页"
                                            ShowPageIndexBox="Always" SubmitButtonText="Go" TextAfterPageIndexBox="页" TextBeforePageIndexBox="转到" OnPageChanging="AspNetPager1_PageChanging">
                                        </webdiyer:AspNetPager>
                                        &nbsp;
                                    </td>
                                </tr>
                            </table>
                        </center>
                        <center>
                            &nbsp;</center>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="AspNetPager1" EventName="PageChanged" />
                </Triggers>
            </asp:UpdatePanel>      
            </div>
        </form>
    </body>
    </html>
      

  6.   

    冤枉啊,这不关AspNetPager的事,是你的UpdatePanel设置有问题吧?所有控件都在updatePanel中,就不需要设置trigger了,你可以把<triggers>这段去掉试试。
      

  7.   

    同意楼上的,另外,所有表单控件都放在UpdatePanel里等于没有使用UpdatePanel,可以把搜索部分、GridView、分页部分分别放在UpdatePanel中,最外层再放个UpdatePanel
      

  8.   

    是换成这样的吗?但是还是在刷新
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Account.aspx.cs" Inherits="HKbusiness_Account" %><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        Namespace="System.Web.UI" TagPrefix="asp" %><%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>管理信息会员</title>
        <link rel="stylesheet" href="../StyleSheet.css"type="text/css" />
    </head>
    <body>
        <form id="form1" runat="server">
           <div>
           
           <center>&nbsp;</center>
            <center>
                &nbsp;</center>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
                            <asp:UpdatePanel ID="UpdatePanel4" runat="server">
                <ContentTemplate>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <center>
                <table align="center" border="0" cellspacing="0" width="900">
                    <tr>
                        <td align="right" style="width: 296px; height: 28px">
                            &nbsp;请输入会员账号:</td>
                        <td align="left" style="width: 238px; height: 28px">
                            &nbsp;<asp:TextBox ID="txtkey" runat="server"></asp:TextBox><asp:RequiredFieldValidator
                                ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtkey" ErrorMessage="不能为空!"></asp:RequiredFieldValidator></td>
                        <td align="left" style="height: 28px">
                            &nbsp;<asp:Button ID="Button1" runat="server" OnClick="btnsel_Click" Text="搜索" /></td>
                    </tr>
                </table>
            </center>
               </ContentTemplate>
            </asp:UpdatePanel>   
            <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                <ContentTemplate>
                    <center>
                            <asp:Label ID="lblmess" runat="server" Style="color: #ff0000" Text="Label" Visible="False"></asp:Label>&nbsp;</center>
                        <center>
                            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound"
                                OnRowDeleting="GridView1_RowDeleting" Width="900px">
                                <Columns>
                                    <asp:HyperLinkField DataNavigateUrlFields="Account_id" DataNavigateUrlFormatString="Areasheng.aspx?id={0}"
                                        DataTextField="Account_email" HeaderText="会员账号" />
                                    <asp:TemplateField HeaderText="所属区域">
                                        <ItemTemplate>
                                            <asp:Label ID="Label2" runat="server" Text='<%# ShowClass(Eval("Area_id")) %>'></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:BoundField DataField="Account_time" DataFormatString="{0:f}" HeaderText="最后登录时间"
                                        HtmlEncode="False" />
                                    <asp:BoundField DataField="Account_hits" HeaderText="登陆次数" />
                                    <asp:TemplateField HeaderText="限制会员">
                                        <ItemTemplate>
                                            <asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Account_check").ToString()=="1"?"没有限制":"限制会员" %>'></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:HyperLinkField DataNavigateUrlFields="Account_id" DataNavigateUrlFormatString="AccountModify.aspx?id={0}"
                                        HeaderText="修改" Text="修改" />
                                    <asp:CommandField CausesValidation="False" HeaderText="删除" ShowDeleteButton="True" />
                                </Columns>
                            </asp:GridView>
                            &nbsp;</center>
                             </ContentTemplate>
            </asp:UpdatePanel> 
                    <asp:UpdatePanel ID="UpdatePanel3" runat="server">
                <ContentTemplate>
                        <center>
                            <table align="center" border="0" cellspacing="0" width="900">
                                <tr>
                                    <td align="center" style="height: 28px">
                                        <webdiyer:AspNetPager ID="AspNetPager1" runat="server" FirstPageText="首页" LastPageText="尾页"
                                            NextPageText="下一页" PageSize="1" PrevPageText="上一页"
                                            ShowPageIndexBox="Always" SubmitButtonText="Go" TextAfterPageIndexBox="页" TextBeforePageIndexBox="转到" OnPageChanging="AspNetPager1_PageChanging">
                                        </webdiyer:AspNetPager>
                                        &nbsp;
                                    </td>
                                </tr>
                            </table>
                        </center>
                        <center>
                            &nbsp;</center>
                </ContentTemplate>
            </asp:UpdatePanel>   
                        </ContentTemplate>
            </asp:UpdatePanel>    
            </div>
        </form>
    </body>
    </html>
      

  9.   

    UpdatePanel中嵌套UpdatePanel干什么啊?
      

  10.   

    无旗娃,你的网站怎么老跳到csdn的blog上去啊?
      

  11.   

    没有和谁和口水:),因为在EDong多买的两年多的空间过期忘了续费,导致原来主页上的东西全被删除了,现在没找到合适的空间,所以只好先把域名跳转到csdn的blog,最近在想办法找空间和恢复数据呢,E动网一月100元的空间实在是买不起了!
      

  12.   

    你用url分页方式进行分的页,当然有刷新了