自定义Pager 在其他控件中动态加载时 页面第一次打开不显示页数,点击下页等才显示

社会栋梁 2013-05-29 02:26:15
代码
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Pager.ascx.cs" Inherits="Pager" %>
<table style="width:90%;">
<tr>
<td style="text-align: center">
第<asp:Label ID="lblPageIndex" runat="server" Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>"></asp:Label>页
共<asp:Label ID="lblPageCount" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageCount %>"></asp:Label>页
<asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False" CommandArgument="First"
CommandName="Page" Text="首页" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=0 %>"></asp:LinkButton>
<asp:LinkButton ID="btnPrev" runat="server" CausesValidation="False" CommandArgument="Prev"
CommandName="Page" Text="上一页" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=0 %>"></asp:LinkButton>
<asp:LinkButton ID="btnNext" runat="server" CausesValidation="False" CommandArgument="Next"
CommandName="Page" Text="下一页" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=((GridView)Container.Parent.Parent).PageCount-1 %>"></asp:LinkButton>
<asp:LinkButton ID="btnLast" runat="server" CausesValidation="False" CommandArgument="Last"
CommandName="Page" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=((GridView)Container.Parent.Parent).PageCount-1 %>"
Text="尾页"></asp:LinkButton>
<asp:TextBox ID="txtNewPageIndex" runat="server" onkeyup="value=value.replace(/[^\d]/g,'') "
Text="<%# ((GridView)Container.Parent.Parent).PageIndex + 1%>" Width="20px"></asp:TextBox>
<%--<asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-1"
CommandName="Page" Text="GO"></asp:LinkButton>--%>
</td>
</tr>
</table>



但是在别的控件中加载,头次打开页面就不显示了
代码
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SwitchCtrl.ascx.cs" Inherits="SwitchCtrl" %>
<asp:PlaceHolder ID="UserCtrlPlaceHolder" runat="server"></asp:PlaceHolder>


        protected void Page_Load(object sender, EventArgs e)
{
UserControl uc = new UserControl();
uc = Page.LoadControl("Pager.ascx") as UserControl;
uc.ID = "UserControl";
UserCtrlPlaceHolder.Controls.Add(uc);



在使用以上控件的页中
GridView里间接用的话,第一次显示页面不显示页数,代码如下
            <PagerTemplate>
<uc1:SwitchCtrl ID="SwitchCtrl2" runat="server" />
</PagerTemplate>


请问,为什么Page.LoadControl出来的控件工作有问题?
...全文
205 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
社会栋梁 2013-06-03
  • 打赏
  • 举报
回复
up!!!!!
社会栋梁 2013-05-29
  • 打赏
  • 举报
回复
引用 1 楼 banian_cn 的回复:
确定你分页数据获取中,第一页的数据获取没问题? 不知道你是用哪种分页获取方式。
我不用LoadControl的话,直接用SwitchCtrl.ascx
<%@ Register src="Pager.ascx" tagname="Pager" tagprefix="uc1" %>
<uc1:Pager ID="Pager1" runat="server" />
再在使用页中<uc1:SwitchCtrl ID="SwitchCtrl2" runat="server" />,都是没问题的 这个区别就在于LoadControl,这是哪里的问题?
Banianer 2013-05-29
  • 打赏
  • 举报
回复
确定你分页数据获取中,第一页的数据获取没问题? 不知道你是用哪种分页获取方式。

62,243

社区成员

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

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

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

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