• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

自定义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出来的控件工作有问题?
...全文
118 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
社会栋梁 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
确定你分页数据获取中,第一页的数据获取没问题? 不知道你是用哪种分页获取方式。
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2013-05-29 02:26
社区公告
暂无公告