我该怎么用Repeater控件去用它?
这是分页的用户控件using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class controls_PageMap : System.Web.UI.UserControl
{
public delegate void PageIndexClickHandler(int PageIndex, object sender, EventArgs e);
public event PageIndexClickHandler PageIndexClick; private int _PageIndex = 0;
private int _MaxPageCount = 10;
private int _PageCount = 0; protected void Page_Load(object sender, EventArgs e)
{
//if (!IsPostBack)
this.GeneratePageIndexLink();
} public int MaxPageCount
{
set
{
this._MaxPageCount = value;
} get
{
return this._MaxPageCount;
}
} public int PageCount
{
set
{
this._PageCount = value;
this.GeneratePageIndexLink();
} get
{
return this._PageCount;
}
} public int PageIndex
{
set
{
this._PageIndex = value;
this.GeneratePageIndexLink();
} get
{
return this._PageIndex;
}
} private void GeneratePageIndexLink()
{
if (this._PageIndex <= 0)
this._PageIndex = 1;
if (this._PageIndex > this._PageCount)
this._PageIndex = this._PageCount;
LinkButton lbtn;
Label lblSep; if (this._PageCount > 1)
{
lbl4ToPageNum.Controls.Clear();
int p;
if (this._PageIndex == 1)
p = 0;
else
p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount); // To First Page
if (this._PageIndex > 1)
lnk4ToFirstPage.Enabled = true;
else
lnk4ToFirstPage.Enabled = false; // To Last Page
if (this._PageIndex < this._PageCount)
lnk4ToLastPage.Enabled = true;
else
lnk4ToLastPage.Enabled = false; // To Previous Page
if (p > 0)
lnk4ToPreviousPage.Enabled = true;
else
lnk4ToPreviousPage.Enabled = false;
lbl4ToPageNum.Controls.Clear();
for (int i = 0; i < 10; i++)
{
if (p + i + 1 > this._PageCount)
break;
if (p + i + 1 == this._PageIndex)
{
lblSep = new Label();
lblSep.Text = ((int)(p + i + 1)).ToString();
lblSep.Style.Add("padding-left", "3px");
//lblSep.CssClass = "PageMap_pageIndex";
//strHtml += "<span class='pageIndex'>" + (p + i + 1) + "</span>";
lbl4ToPageNum.Controls.Add(lblSep);
}
else
{
lbtn = new LinkButton();
//lbtn.CssClass = "PageMap_pageIndexlnk";
lbtn.ID = "PageIdx_"+((int)(p + i + 1)).ToString().Trim();
lbtn.Click += new EventHandler(lnk4ToPageIndex_Click);
lbtn.Text = ((int)(p + i + 1)).ToString();
lbl4ToPageNum.Controls.Add(lbtn);
//strHtml += "<a Class='pageIndexlnk' href='result.aspx?this._PageIndex=" + (p + i + 1) + "'>" + (p + i + 1) + "</a>";
//strHtml += "<a Class='pageIndexlnk' href='javascript:ChangePage(" + (p + i + 1) + ")'>" + (p + i + 1) + "</a>";
}
}
if (p + 10 < this._PageCount)
lnk4ToNextPage.Enabled = true;
else
lnk4ToNextPage.Enabled = false;
}
else
{
//lnk4ToFirstPage.Enabled = false;
//lnk4ToLastPage.Enabled = false;
lnk4ToFirstPage.Visible = false ;
lnk4ToLastPage.Visible = false;
lnk4ToPreviousPage.Visible = false;
lnk4ToNextPage.Visible = false;
lnk4PageContainer.Visible = false;
}
string spt = this.Request.ApplicationPath + "/App_Themes/" + this.Page.StyleSheetTheme + "/images/";
this.Img4ToFirstPage.ImageUrl = lnk4ToFirstPage.Enabled ? spt + "arrow_left_end.gif" : spt + "arrow_left_end_grey.gif";
this.Img4ToPreviousPage.ImageUrl = lnk4ToPreviousPage.Enabled ? spt + "arrow_left.gif" : spt + "arrow_left_grey.gif";
this.Img4ToNextPage.ImageUrl = lnk4ToNextPage.Enabled ? spt + "arrow_rt.gif" : spt + "arrow_rt_grey.gif";
this.Img4ToLastPage.ImageUrl = lnk4ToLastPage.Enabled ? spt + "arrow_rt_end.gif" : spt + "arrow_rt_end_grey.gif";
} protected void lnk4ToFirstPage_Click(object sender, EventArgs e)
{
this._PageIndex = 1;
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
} protected void lnk4ToPreviousPage_Click(object sender, EventArgs e)
{
int p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount);
this._PageIndex = p - 9;
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
} protected void lnk4ToNextPage_Click(object sender, EventArgs e)
{
int p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount);
this._PageIndex = p + 11;
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
} protected void lnk4ToLastPage_Click(object sender, EventArgs e)
{
this._PageIndex = this._PageCount;
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
} protected void lnk4ToPageIndex_Click(object sender, EventArgs e)
{
string sid = ((LinkButton)sender).ID;
this._PageIndex = int.Parse(sid.Split('_')[1]);
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
}
}
这是分页的用户控件using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class controls_PageMap : System.Web.UI.UserControl
{
public delegate void PageIndexClickHandler(int PageIndex, object sender, EventArgs e);
public event PageIndexClickHandler PageIndexClick; private int _PageIndex = 0;
private int _MaxPageCount = 10;
private int _PageCount = 0; protected void Page_Load(object sender, EventArgs e)
{
//if (!IsPostBack)
this.GeneratePageIndexLink();
} public int MaxPageCount
{
set
{
this._MaxPageCount = value;
} get
{
return this._MaxPageCount;
}
} public int PageCount
{
set
{
this._PageCount = value;
this.GeneratePageIndexLink();
} get
{
return this._PageCount;
}
} public int PageIndex
{
set
{
this._PageIndex = value;
this.GeneratePageIndexLink();
} get
{
return this._PageIndex;
}
} private void GeneratePageIndexLink()
{
if (this._PageIndex <= 0)
this._PageIndex = 1;
if (this._PageIndex > this._PageCount)
this._PageIndex = this._PageCount;
LinkButton lbtn;
Label lblSep; if (this._PageCount > 1)
{
lbl4ToPageNum.Controls.Clear();
int p;
if (this._PageIndex == 1)
p = 0;
else
p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount); // To First Page
if (this._PageIndex > 1)
lnk4ToFirstPage.Enabled = true;
else
lnk4ToFirstPage.Enabled = false; // To Last Page
if (this._PageIndex < this._PageCount)
lnk4ToLastPage.Enabled = true;
else
lnk4ToLastPage.Enabled = false; // To Previous Page
if (p > 0)
lnk4ToPreviousPage.Enabled = true;
else
lnk4ToPreviousPage.Enabled = false;
lbl4ToPageNum.Controls.Clear();
for (int i = 0; i < 10; i++)
{
if (p + i + 1 > this._PageCount)
break;
if (p + i + 1 == this._PageIndex)
{
lblSep = new Label();
lblSep.Text = ((int)(p + i + 1)).ToString();
lblSep.Style.Add("padding-left", "3px");
//lblSep.CssClass = "PageMap_pageIndex";
//strHtml += "<span class='pageIndex'>" + (p + i + 1) + "</span>";
lbl4ToPageNum.Controls.Add(lblSep);
}
else
{
lbtn = new LinkButton();
//lbtn.CssClass = "PageMap_pageIndexlnk";
lbtn.ID = "PageIdx_"+((int)(p + i + 1)).ToString().Trim();
lbtn.Click += new EventHandler(lnk4ToPageIndex_Click);
lbtn.Text = ((int)(p + i + 1)).ToString();
lbl4ToPageNum.Controls.Add(lbtn);
//strHtml += "<a Class='pageIndexlnk' href='result.aspx?this._PageIndex=" + (p + i + 1) + "'>" + (p + i + 1) + "</a>";
//strHtml += "<a Class='pageIndexlnk' href='javascript:ChangePage(" + (p + i + 1) + ")'>" + (p + i + 1) + "</a>";
}
}
if (p + 10 < this._PageCount)
lnk4ToNextPage.Enabled = true;
else
lnk4ToNextPage.Enabled = false;
}
else
{
//lnk4ToFirstPage.Enabled = false;
//lnk4ToLastPage.Enabled = false;
lnk4ToFirstPage.Visible = false ;
lnk4ToLastPage.Visible = false;
lnk4ToPreviousPage.Visible = false;
lnk4ToNextPage.Visible = false;
lnk4PageContainer.Visible = false;
}
string spt = this.Request.ApplicationPath + "/App_Themes/" + this.Page.StyleSheetTheme + "/images/";
this.Img4ToFirstPage.ImageUrl = lnk4ToFirstPage.Enabled ? spt + "arrow_left_end.gif" : spt + "arrow_left_end_grey.gif";
this.Img4ToPreviousPage.ImageUrl = lnk4ToPreviousPage.Enabled ? spt + "arrow_left.gif" : spt + "arrow_left_grey.gif";
this.Img4ToNextPage.ImageUrl = lnk4ToNextPage.Enabled ? spt + "arrow_rt.gif" : spt + "arrow_rt_grey.gif";
this.Img4ToLastPage.ImageUrl = lnk4ToLastPage.Enabled ? spt + "arrow_rt_end.gif" : spt + "arrow_rt_end_grey.gif";
} protected void lnk4ToFirstPage_Click(object sender, EventArgs e)
{
this._PageIndex = 1;
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
} protected void lnk4ToPreviousPage_Click(object sender, EventArgs e)
{
int p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount);
this._PageIndex = p - 9;
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
} protected void lnk4ToNextPage_Click(object sender, EventArgs e)
{
int p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount);
this._PageIndex = p + 11;
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
} protected void lnk4ToLastPage_Click(object sender, EventArgs e)
{
this._PageIndex = this._PageCount;
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
} protected void lnk4ToPageIndex_Click(object sender, EventArgs e)
{
string sid = ((LinkButton)sender).ID;
this._PageIndex = int.Parse(sid.Split('_')[1]);
this.GeneratePageIndexLink();
if (this.PageIndexClick != null)
this.PageIndexClick(this._PageIndex, this, e);
}
}
解决方案 »
- 如何把两张相同格式的数据表上建立一个视图?
- 在asp.net 使用多线程 是不是要等所有的线程都执行完才返回呢
- 有什么控件可以一行显示四个产品图像呀
- 运行程序时出现了 ORA-12154: TNS: 无法解析指定的连接标识符
- 如何将文件夹中的图片显示到gridview中
- 自定义控件(ascx)中的javascript脚本调用一个HtmlInputText控件的问题
- 日期转换
- 有关showModalDialog传值
- 通用考勤如何做,基本上适应市面上常用的考勤机?
- 帮我看看程序!
- datagri与dropdownlist实现分页问题出现无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount错误!试了很多方法不行!
- iframe 页面与页面传值问题
委托的事件?那是在引用这个控件的页面写的把。我不知道该怎么去用。
Repeater控件用PagedDataSource绑定。
<tr>
<td style="padding-left:10px;text-align:right;padding-right:5px; vertical-align:bottom; height: 14px;">
<div class="PageMap_pageIdx" runat="server" id="lnk4PageContainer">
<asp:LinkButton ID="lnk4ToFirstPage" runat="server" OnClick="lnk4ToFirstPage_Click"><asp:Image ID="Img4ToFirstPage" runat="server" Width="10" SkinID="PageMap_ToFirstPage" /></asp:LinkButton>
<asp:LinkButton ID="lnk4ToPreviousPage" runat="server" OnClick="lnk4ToPreviousPage_Click"><asp:Image ID="Img4ToPreviousPage" runat="server" SkinID="PageMap_ToPreviousPage" /></asp:LinkButton>
[
<asp:Label id="lbl4ToPageNum" runat="server"></asp:Label>
]
<asp:LinkButton ID="lnk4ToNextPage" runat="server" OnClick="lnk4ToNextPage_Click"><asp:Image ID="Img4ToNextPage" runat="server" SkinID="PageMap_ToNextPage" /></asp:LinkButton>
<asp:LinkButton ID="lnk4ToLastPage" runat="server" OnClick="lnk4ToLastPage_Click"><asp:Image ID="Img4ToLastPage" runat="server" SkinID="PageMap_ToLastPage" /></asp:LinkButton>
</div></td>
</tr>
</table>