请问 updatepanel 与 AspNetPager 无法实现局部刷新 怎么回事?

haiyanhappy 2009-09-07 07:25:50
代码

<asp:ScriptManager runat="server" > </asp:ScriptManager>
<asp:UpdatePanel ID="noticeListPan" runat="server" UpdateMode="Conditional" >
<contenttemplate>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
BorderWidth="0px" CellPadding="4" CellSpacing="1" CssClass="forumline" DataKeyNames="not_id"
PageSize="15" Width="95%">
<PagerSettings FirstPageText="&lt;&lt;第一页" LastPageText="最后一页&lt;&lt;"
Mode="NextPreviousFirstLast" NextPageText="下一页&gt;" PreviousPageText="&lt;上一页" />
<Columns>
<asp:BoundField DataField="not_id" DataFormatString="{0:d}" HeaderText="日期" HtmlEncode="False"
SortExpression="not_id" ItemStyle-Width="10%">
</asp:BoundField>
<asp:HyperLinkField DataNavigateUrlFields="not_id" DataNavigateUrlFormatString="noticeDetail.aspx?not_id={0}"
DataTextField="not_title" HeaderText="标题" ItemStyle-Width="70%">
<ItemStyle HorizontalAlign="Left" />
</asp:HyperLinkField>
<asp:BoundField DataField="user_name" HeaderText="发布人" ItemStyle-Width="10%">
</asp:BoundField>
<asp:BoundField DataField="user_dep" HeaderText="发布机构" ItemStyle-Width="10%">
</asp:BoundField>
</Columns>
<RowStyle CssClass="row1" />
<PagerStyle CssClass="nav" />
<AlternatingRowStyle CssClass="row2" />
</asp:GridView>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="True" OnPageChanged="AspNetPager1_PageChanged"
UrlPaging="true" NumericButtonTextFormatString="[{0}]" ShowCustomInfoSection="Left" PageSize="2">
</webdiyer:AspNetPager>
</contenttemplate>
</asp:UpdatePanel>

问题是 点击 第n页的时候 整个页面都刷新了
恳请大侠解答 谢谢
...全文
592 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
haiyanhappy 2012-01-01
  • 打赏
  • 举报
回复
非常感谢各位
shuchao2315 2011-08-26
  • 打赏
  • 举报
回复
5L的可以 谢谢
dlhjwang 2010-07-08
  • 打赏
  • 举报
回复
谢谢旗娃!我的问题也完美解决!
alex1987214 2009-09-12
  • 打赏
  • 举报
回复
吴旗娃现身 偶像啊
我姓区不姓区 2009-09-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 webdiyer 的回复:]
下周正式发布7.2.1版,同时发布ASP.NET MVC Pager 1.1版,谢谢多支持哦
[/Quote]
原作者现身了,楼主不愁解决不了问题了~~
webdiyer 2009-09-12
  • 打赏
  • 举报
回复
下周正式发布7.2.1版,同时发布ASP.NET MVC Pager 1.1版,谢谢多支持哦
XUXU_dragon 2009-09-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 webdiyer 的回复:]
UrlPaging设为true使用url分页,就是每次分页打开一个新页面,UpdatePanel根本就没有任何作用了,去掉UrlPaging="true"或将其设为false后没绑定数据那是因为你没有在Page_Load中绑定数据,Url分页时不需要在Page_Load中绑定数据,因为页面一加载就会引发分页事件,所以只需要在分页事件处理程序中绑定数据就行了,但默认的PostBack分页则第一次需要¡­
[/Quote]


嗯,可以了,的确是的,要在Page_Load里再绑一次

实现了局部刷新!我的问题解决了!
webdiyer 2009-09-12
  • 打赏
  • 举报
回复
UrlPaging设为true使用url分页,就是每次分页打开一个新页面,UpdatePanel根本就没有任何作用了,去掉UrlPaging="true"或将其设为false后没绑定数据那是因为你没有在Page_Load中绑定数据,Url分页时不需要在Page_Load中绑定数据,因为页面一加载就会引发分页事件,所以只需要在分页事件处理程序中绑定数据就行了,但默认的PostBack分页则第一次需要在Page_Load中加载数据,因为页面加载不会引发分页事件。
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xuxu_dragon 的回复:]
引用 5 楼 ojlovecd 的回复:
把AspNetPager的UrlPaging设为false


不行哦,UrlPaging设为false后,数据也没有读取到了,而且aspnetpager的页标也不能点了
[/Quote]

如果你确定不能设置为false,那就只能放弃它了。

不知道你是否试验过1楼的。
XUXU_dragon 2009-09-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ojlovecd 的回复:]
把AspNetPager的UrlPaging设为false
[/Quote]

不行哦,UrlPaging设为false后,数据也没有读取到了,而且aspnetpager的页标也不能点了
我姓区不姓区 2009-09-12
  • 打赏
  • 举报
回复
把AspNetPager的UrlPaging设为false
XUXU_dragon 2009-09-12
  • 打赏
  • 举报
回复
http://space.cnblogs.com/question/1507/
XUXU_dragon 2009-09-12
  • 打赏
  • 举报
回复
我也遇到这个问题,正烦着呢,
帮顶一下,
期待高人解决
XUXU_dragon 2009-09-12
  • 打赏
  • 举报
回复
真是太感谢啦,现在问题完美的解决了!
webdiyer 2009-09-12
  • 打赏
  • 举报
回复
你得把AspNetPager也放到UpdatePanel的ContentTemplate中去啊?要不AspNetPager分页后只有数据更新了,而分页控件却没法更新,肯定不对了,解决方法是把AspNetPager也放到UpdatePanel的ContentTemplate中,然后去掉<Triggers>..</Trigger>这部分。
XUXU_dragon 2009-09-12
  • 打赏
  • 举报
回复
唉,局部刷新是实现了,可是现在又有问题了,本来只有两页数据,当我点击第二页的时候,发现第一页就不能点了(不能回到第一页了)往上就不能点了,
往下点可以(点了没有任何效果)。

把数据放到UpdatePanel外,UrlPaging改为true时,运行,一切正常(非局部刷新)

代码如下麻烦看下。

	<ul>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li class="caseli"><asp:Image ID="Image2" ImageUrl='<%#"products/"+Eval("P_Image")%>' runat="server"/></li>
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="AspNetPager1" EventName="PageChanged" />
</Triggers>
</asp:UpdatePanel>
</ul>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" OnPageChanged="AspNetPager1_PageChanged" PageSize="1" AlwaysShow="True" ShowPageIndexBox="Never"></webdiyer:AspNetPager>





protected void Page_Load(object sender, EventArgs e)
{
AspNetPager1.RecordCount = GetCount();
if (!IsPostBack)
{
Bind(AspNetPager1.PageSize, (AspNetPager1.CurrentPageIndex - 1) *AspNetPager1.PageSize);
}
}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
Bind(AspNetPager1.PageSize,(AspNetPager1.CurrentPageIndex-1)*AspNetPager1.PageSize);
}



flyerwing 2009-09-12
  • 打赏
  • 举报
回复
顶下新控件.
haiyanhappy 2009-09-07
  • 打赏
  • 举报
回复
我的代码不行 究竟是什么问题呢?
andrewsway 2009-09-07
  • 打赏
  • 举报
回复
可以呀

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" CssClass="cssGridView" runat="server"
AutoGenerateColumns="False" BorderWidth="0px" >
<Columns>
<asp:TemplateField HeaderText="用户组名称">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Bind("GP_NAME") %>'
OnClientClick="this.blur();"
CommandArgument='<%# Bind("GP_ID") %>'></asp:LinkButton>
</ItemTemplate>
<HeaderStyle Width="150px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="用户组描述">
<ItemTemplate>
<div class="longtext"><%# Eval("GP_DESCRIPTION") %></div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="操作" HeaderStyle-Width="80px">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" ImageUrl="~/images/track_view.gif" ToolTip="Edit" runat="server"
OnClientClick="this.blur();" CommandName="Edit" CommandArgument='<%# Bind("GP_ID") %>' />
<asp:ImageButton ID="ImageButton2" ImageUrl="~/images/del.gif" ToolTip="Delete" runat="server"
OnClientClick="this.blur();return confirm('确认要删除当前项吗?');" CommandName="Delete" CommandArgument='<%# Bind("GP_ID") %>' />
</ItemTemplate>
<HeaderStyle Width="80px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div style="width:100%; line-height:22px; text-align:center;">暂时没有相关数据信息!</div>
</EmptyDataTemplate>
</asp:GridView>
<div class="cssPager">
<webdiyer:AspNetPager ID="pager" runat="server"
onpagechanging="pager_PageChanging"
PageIndexBoxClass="input_line" PageIndexBoxStyle="width:30px;"
PageIndexBoxType="TextBox" ShowPageIndexBox="Always" SubmitButtonText="Go"
TextAfterPageIndexBox="页" TextBeforePageIndexBox="转到"
SubmitButtonClass="input_line" SubmitButtonStyle="width:30px;"
CustomInfoHTML="<div style='line-height:22px;'>共<font color=red> %PageCount% </font>页 当前为第<font color=red> %CurrentPageIndex% </font>页</div>"
ShowCustomInfoSection="Left" ></webdiyer:AspNetPager>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>

62,050

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧