repeater控件增删查改加分页by herry

合集下载

NET中用Repeater控件多列及分页显示数据

NET中用Repeater控件多列及分页显示数据

.NET中用Repeater控件多列及分页显示数据1.多列显示前台代码:<table><tr><asp:repeater id="Repeater1" runat="server"><ItemTemplate><td><%#DataBinder.Eval(Container.DataItem,"thing")%></td></ItemTemplate></asp:repeater></tr></table>后台代码:protected int i=1;private void Repeater1_ItemDataBound(object sender,System.Web.UI.WebControls.RepeaterItemEventArgs e){if(i%3==0&&i>0){e.Item.Controls.Add(new LiteralControl("</tr><tr>"));}i++;}但以上这种做法,是Repeater每显示3列变换一行的效果,但是有一缺点,就是当循环到最后一个数据不满3列时,程序也会执行 e.Item.Controls.Add(new LiteralControl("</TR><TR>"));,这样在网页上就会多一个</TR><TR>,影响了页面的显示效果,解决办法是,如果你是每页显示6个数据的话,那加个if即可protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) {if (i % 3 == 0){if (i == 6) { }else{e.Item.Controls.Add(new LiteralControl("</TR><TR>"));}}i++;}2.分页显示中的DataList和Repeater提供了简单快速的方法來显示,其间,我们可以使用<ItemTemplate>更是使我们能随心所欲的控制数据的排放样式!//.可惜的是它们不像Datagrid那样,有内置的分页功能。

详解ASP.NET数据绑定操作中Repeater控件的用法

详解ASP.NET数据绑定操作中Repeater控件的用法

详解数据绑定操作中Repeater控件的⽤法⼀、绑定控件之Repeater.NET封装了多种数据绑定控件,诸如GridView、DataList等但该篇⽂章将会从Repeater⼊⼿,因为Repeater只提供了基本的数据绑定模板,没有内置其它分页等功能,所以它是最原始的数据绑定控件,只要能够熟练运⽤Repeater控件其它的绑定控件也就很简单了。

1、Repeater简介Repeater 控件是基本模板化数据列表。

它不像GridView控件⼀样能够可视化的设计格式或样式,因此开发时在控件模板中必须显式声明所有格式、格式和样式标记。

另外Repeater控件没有内置选择、排序、编辑、分页等功能,它只提供了基本的数据绑定,但是它为开发⼈员提供了ItemCommand 事件,该事件⽀持在控件中收发命令。

想要绑定数据,模板是必不可少的,Repeater控件同样⽀持数据模板,⽽且还可以在模板中添加想要的标签,它主要⽤法如下图:Note:每个 Repeater 控件必须定义 ItemTemplate。

⼆、控件使⽤技巧上⽂讲解了Repeater基本的使⽤⽅法及它的⼀些基本特性,接下来做⼏个经典的⽰例来运⽤Repeater控件。

1、数据绑定之删除、编辑该⽰例将会使⽤的前台和后台结合来实现显⽰数据,并能够编辑和删除数据。

删除页⾯:编辑页⾯:前台代码:在单击编辑按钮后将会进⼊编辑页⾯,页⾯是由两个Panel控件来控制,通过传递ID号的⽅式判断显⽰的是编辑页⾯还是删除页⾯,另外前台代码通过设置控件的CommandArgument属性来传递后台所需要判断的id号。

<body><form id="form1" runat="server"><div><asp:Repeater ID="userRepeat" runat="server" OnItemCommand="userRepeat_ItemCommand" OnItemDataBound="userRepeat_ItemDataBound"> <HeaderTemplate><table border="1" style="width:1000px;text-align:center;border-collapse:collapse;"><thead style="background-color:red;"><tr><th>ID</th><th>内容</th><th>操作</th></tr></thead></HeaderTemplate><ItemTemplate><asp:Panel ID="plItem" runat="server"><tr><td><asp:Label runat="server" ID="lblID" Text='<%#Eval("id") %>'></asp:Label></td><td><%#Eval("name") %></td><td><asp:LinkButton ID="lbtEdit" CommandName="Edit" CommandArgument='<%#Eval("id") %>' runat="server">编辑</asp:LinkButton><asp:LinkButton ID="lbtDelete" CommandName="Delete" CommandArgument='<%#Eval("id") %>' runat="server">删除</asp:LinkButton></td></tr></asp:Panel><asp:Panel ID="plEdit" runat="server"><tr><td><asp:Label runat="server" ID="Label1" Text='<%#Eval("id") %>'></asp:Label></td><td><asp:TextBox ID="txtName" runat="server" Text='<%#Eval("name") %>'></asp:TextBox></td><td><asp:LinkButton ID="lbtCancel" CommandName="Cancel" CommandArgument='<%#Eval("id") %>' runat="server">取消</asp:LinkButton> <asp:LinkButton ID="lbtUpdate" CommandName="Update" CommandArgument='<%#Eval("id") %>' runat="server">更新</asp:LinkButton> </td></tr></asp:Panel></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater></div></form></body>后台代码:在后台代码中很重要的两个事件是ItemCommand和ItemDataBound,其中ItemCommand负责接收前台传进来的按钮命令,根据命令的参数来设置后台传递的id,并在ItemDataBound中来验证id判断切换显⽰Panel。

[转]asp.net中repeater按钮传值与分页

[转]asp.net中repeater按钮传值与分页

[转]中repeater按钮传值与分页我想要在repeater中每绑定⼀⾏数据时,都对应⼀个按钮,其实也就是做后台管理,但我在按键的执⾏事件中却总是得不到要传递的值,开始我是这样传的:CommandArgument="<%#Eval('adminID') %>"//这⼀⾏是传值CommandName="upd"//因为有两个按钮,所以会有这⼀⾏当然,这都是按钮的属性,但这样执⾏时总是报错,实在不知其中意思了,把上⾯的代码改为如下:CommandArgument='<%#Eval("adminID") %>'CommandName="upd"⼀切正常,郁闷~~~~~~~~~当然,这⼀⼩篇的正式内容当然是repeater分页了,其实reapeater分页在前台的代码并不多,只是增加了⼏个按钮:⾸页、上⼀页、下⼀页、未页,对了还有(当前页/总页);对了,这⾥⽤的⽅法是集成的⽅法(前⼏天去⾯试,有⼀美⼥程序员问我编码实现数据分页,整理思路,感觉不难,如果⼿头的活忙完了,也可以⼀试)。

⾸先:后台对repeater绑定数据源上就有很⼤的差别:主义的数据源不再是datasource⽽是:public static PagedDataSource pds = new PagedDataSource();//把它设置为类的属性,⽅便在类内调⽤public void bind(string str,int page)//做成⽅法为了⽅便点击 “⾸页”等按钮时调⽤{pds.DataSource = BLL.adminLogin.getdt(str).DefaultView;//为pds绑定数据源pds.AllowPaging = true; //启⽤分页pds.PageSize = 18; //每页显⽰记录条数pds.CurrentPageIndex = page;//设置第page页为起始页Repeater1.DataSource = pds; //最后再把数据源绑定给repeaterRepeater1.DataBind();if (page == 0) //决定“⾸页”等各个按钮的可⽤性,假如现在在第⼀页,那么“⾸页”和“上⼀页”⼀定不可以使⽤,不是吗??{display();Button1.Enabled = false;Button2.Enabled = false;}else if (page == (pds.PageCount - 1)){display();Button3.Enabled = false;Button4.Enabled = false;}else{ display(); }}那么,在按钮的事件中,我就会很省⼒⽓了protected void Button1_Click(object sender, EventArgs e){//这是⾸页bind(sql, 0);display();Button1.Enabled = false;Button2.Enabled = false;}protected void Button2_Click(object sender, EventArgs e){//这是上⼀页bind(sql, pds.CurrentPageIndex - 1);}protected void Button3_Click(object sender, EventArgs e){//这是下⼀页bind(sql, pds.CurrentPageIndex + 1);}protected void Button4_Click(object sender, EventArgs e){//这是未页bind(sql, pds.PageCount - 1);}public void display() //这个⽅法使所以的按钮可⽤{Button1.Enabled = true;Button2.Enabled = true;Button3.Enabled = true;Button4.Enabled = true;}然后,没有然后了,⼀切搞定,需要补充的就是,那⼏个按钮的位置并没有要求,只要觉得看上去漂亮,那么,什么地⽅都可以放的,呵呵~~~~~。

bootstrap-table分页增删改查之一(增加删除)

bootstrap-table分页增删改查之一(增加删除)

bootstrap-table分页增删改查之⼀(增加删除)先上效果图1. 引⼊js⽂件<!--js jquery --><script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.9.0.min.js"></script><!--js bootstrap --><script src="${pageContext.request.contextPath}/bootstrapJs/bootstrap.min.js"></script><!-- js bootstrap-table 分页插件 --><script type="text/javascript"src="${pageContext.request.contextPath}/js/bootstrap-table.js"></script><script src="${pageContext.request.contextPath}/bootstrapJs/table/bootstrap-table-zh-CN.js"></script><!-- js bootstrap-datetimepicker 时间插件 --><script src="${pageContext.request.contextPath}/bootstrapJs/datetimepicker/bootstrap-datetimepicker.min.js"></script><script src="${pageContext.request.contextPath}/bootstrapJs/datetimepicker/bootstrap-datetimepicker.zh-CN.js"></script><!-- js knockout 增删改查插件 --><script src="https:///knockout/3.4.0/knockout-min.js"></script> //必须<script src="${pageContext.request.contextPath}/bootstrapJs/knockout/knockout.mapping-latest.js"></script>//必须<!-- css --><link href="${pageContext.request.contextPath}/css/bootstrap-table.css"rel="stylesheet" type="text/css" /><link href="${pageContext.request.contextPath}/bootstrapCss/datetimepicker/bootstrap-datetimepicker.min.css" rel="stylesheet" /> //必须 2:有的是弹出⼀个页⾯有的是弹出在本页⾯定义的标签看你⾃⼰了我使⽤的是在本页⾯定义<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button><h4 class="modal-title" id="myModalLabel">收⼊类⽬增加</h4></div><div class="modal-body"><div class="form-group"><label for="txt_departmentname">收⼊类⽬名称</label><input type="text" name="txt_departmentname" data-bind="value:Name" class="form-control" id="txt_departmentname" placeholder="类⽬名称"></div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span>关闭</button><button type="button" id="btn_submit" class="btn btn-primary" data-dismiss="modal"><span class="glyphicon glyphicon-floppy-disk" aria-hidden="true"></span>保存</button> </div></div></div></div></div> 3: js⽂件$(function() {//初始化operate.operateInit();});// 操作var operate = {// 初始化按钮事件operateInit : function() {this.operateAdd();this.operateUpdate();this.operateDelete();this.DepartmentModel = {id : ko.observable(), //和标签中的data-bind 对应Name : ko.observable(),Level : ko.observable(),Des : ko.observable(),CreateTime : ko.observable()};},// 新增operateAdd : function() {$('#btn_add').on("click",function() {$("#myModal").modal().on("shown.bs.modal",function() {var oEmptyModel = {id : ko.observable(),Name : ko.observable(),Level : ko.observable(),Des : ko.observable(),CreateTime : ko.observable()};ko.utils.extend(operate.DepartmentModel,oEmptyModel);ko.applyBindings(operate.DepartmentModel,document.getElementById("myModal"));operate.operateSave();}).on('hidden.bs.modal', function() {ko.cleanNode(document.getElementById("myModal"));});});},// 编辑修改这⾥我没有做如果需要的话把弹出页⾯中input中的data-bind中value:name 换成value:你后台传来的变量名称 operateUpdate : function() {$('#btn_edit').on("click",function() {$("#myModal").modal().on("shown.bs.modal",function() {var arrselectedData = tableInit.myViewModel.getSelections();if (!operate.operateCheck(arrselectedData)) {return;}// 将选中该⾏数据有数据Model通过Mapping组件转换为viewmodelko.utils.extend(operate.DepartmentModel,ko.mapping.fromJS(arrselectedData[0]));ko.applyBindings(operate.DepartmentModel,document.getElementById("myModal"));operate.operateSave();}).on('hidden.bs.modal', function() {// 关闭弹出框的时候清除绑定(这个清空包括清空绑定和清空注册事件)ko.cleanNode(document.getElementById("myModal"));});});},// 删除operateDelete : function() { //当点击删除的时候会进⼊这个⽅法$('#btn_delete').on("click",function() {var arrselectedData = $("#tb_departments").bootstrapTable('getSelections');if (arrselectedData.length <= 0) {alert("请选中⼀⾏");} else {var b = JSON.stringify(arrselectedData);$.ajax({url : "/billMaven/categoryDelect",type : "post",data : {"name" : b //传输到后台的是 json对象后台接收后需要转换成list 然后循环获取id删除},success : function(status) {alert(status);$("#tb_departments").bootstrapTable('refresh');}});}});},// 保存数据operateSave : function() { //当点击保存的时候回跳到这个⽅法$('#btn_submit').on("click", function() {// 取到当前的viewmodelvar oViewModel = operate.DepartmentModel;// 将Viewmodel转换为数据modelvar oDataModel = ko.toJS(oViewModel);if ( == undefined || .trim() == "") {alert("类⽬不能为空");} else {var span = $("#span").html();$.ajax({url : "/billMaven/categorysave", //urltype : "post",data : { //参数"name" : ,"state" : span},success : function(status) {alert(status);$("#tb_departments").bootstrapTable('refresh');}});}});},// 数据校验operateCheck : function(arr) {if (arr.length <= 0) {alert("请⾄少选择⼀⾏数据");return false;}if (arr.length > 1) {alert("只能编辑⼀⾏数据");return false;}return true;}}引⽤ /landeanfen/p/4976838.html 如果需要看理论的话可以去他的博客看⼀下。

Repeater实现删除,修改等操作

Repeater实现删除,修改等操作

Repeater实现删除,修改等操作2008年07月30日星期三 15:09<asp:Repeater runat="server" ID="rptShowLink"><ItemTemplate><tr><td align="center"><%#DataBinder.Eval(Container.DataItem, "Loge_url")%></td><td align="center"><%#DataBinder.Eval(Container.DataItem, "link_name")%></td><td align="center"><%#DataBinder.Eval(Container.DataItem, "link_url")%></td><td align="center"><asp:LinkButton runat="server" ID="btnUpdate" Text="修改" CommandName='<%#DataBinder.Eval(Container.DataItem, "link_id")%>'OnCommand="btnUpdate_Click" /><asp:LinkButton runat="server" ID="btnDelete" Text="删除" CommandName='<%#DataBinder.Eval(Container.DataItem, "link_id")%>'OnCommand="btnDelete_Click" OnClientClick="return confirm('确认删除吗?');" /></tr></ItemTemplate><SeparatorTemplate><%--这是分隔线模板--%><tr><td colspan="4"><hr style="border-top: 1pt;" /> </td></tr></SeparatorTemplate><FooterTemplate></FooterTemplate></asp:Repeater>//修改protected void btnUpdate_Click(object sender, CommandEventArgs e){type++;id = Convert.ToInt32(mandName);entity.Link link = new entity.Link();link = linkdao.SelectById(id);.Text = link.link_name.ToString();this.address.Text = link.link_url.ToString();this.logo.Text = link.Loge_url.ToString();this.ddlType.ClearSelection();this.ddlType.Items.FindByText((newLinkTypeDao().SelectNameByid(link.type_id)).type_name.ToString()).Selected = true;this.HiddenField1.Value = id.ToString();}//删除protected void btnDelete_Click(object sender, CommandEventArgs e){int Id = Convert.ToInt32(mandName);entity.Link link = new entity.Link();link.link_id = Id;linkdao.Delete(link);Bind();文章搜索:usingusingusingusingusingusingusing System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page{private const string connectionStr = @"Data Source=.SQLEXPRESS;AttachDbFi lename=D:QianTaoApp_Datadb.mdf;Integrated Security=True;User Instance=True";protected void Page_Load(object sender, EventArgs e){if(!IsPostBack){SetBind();}}protected void rptClass_ItemCommand(object source, RepeaterCommandEventAr gs e){//判断是否添加类别if (mandName == "AddClass"){TextBox tb = e.Item.FindControl("txtClassName") as TextBox;using(SqlConnection conn = new SqlConnection(connectionStr)){conn.Open();using(SqlCommand cmd = new SqlCommand("insert into tb_Class(c lassName) values(@className)", conn)){cmd.Parameters.AddWithValue("@className", tb.Text);cmd.ExecuteNonQuery();SetBind();}}}//判断是否删除类别if (mandName == "DelClass"){using (SqlConnection conn = new SqlConnection(connectionStr)){conn.Open();using (SqlCommand cmd = new SqlCommand("delete from tb_Module where classId=@classId;delete from tb_Class where id=@classId", conn)){cmd.Parameters.AddWithValue("@classId", mandArgument );cmd.ExecuteNonQuery();SetBind();}}}//判断是否修改类别if (mandName == "UpdateClass"){TextBox tb = e.Item.FindControl("txtClassName") as TextBox;using (SqlConnection conn = new SqlConnection(connectionStr)){conn.Open();using (SqlCommand cmd = new SqlCommand("update tb_Class set c lassName=@className where id=@id", conn)){cmd.Parameters.AddWithValue("@className", tb.Text);cmd.Parameters.AddWithValue("@id", mandArgument);cmd.ExecuteNonQuery();SetBind();}}}//判断是否添加模块if (mandName == "AddModule"){TextBox tb = e.Item.FindControl("txtModuleName") as TextBox;using (SqlConnection conn = new SqlConnection(connectionStr)){conn.Open();using (SqlCommand cmd = new SqlCommand("insert into tb_Module (classId,moduleName)values(@classId,@moduleName)", conn)){cmd.Parameters.AddWithValue("@moduleName", tb.Text);cmd.Parameters.AddWithValue("@classId", mandArgument );cmd.ExecuteNonQuery();SetBind();}}}}/**////<summary>///嵌套repeater的ItemCommand事件///</summary>protected void rptModule_ItemCommand(object source, RepeaterCommandEventA rgs e){//判断是否删除模块if (mandName == "DelModule"){using (SqlConnection conn = new SqlConnection(connectionStr)){conn.Open();using (SqlCommand cmd = new SqlCommand("delete from tb_Module where id=@Id;", conn)){cmd.Parameters.AddWithValue("@Id", mandArgument);cmd.ExecuteNonQuery();SetBind();}}}//判断是否修改模块if (mandName == "UpdateModule"){TextBox tb = e.Item.FindControl("txtModuleName") as TextBox;using (SqlConnection conn = new SqlConnection(connectionStr)){conn.Open();using (SqlCommand cmd = new SqlCommand("update tb_Module set moduleName=@Name where id=@id", conn)){cmd.Parameters.AddWithValue("@Name", tb.Text);cmd.Parameters.AddWithValue("@id", mandArgument);cmd.ExecuteNonQuery();SetBind();}}}}/**////<summary>///绑定Repeater///</summary>private void SetBind(){DataSet ds = new DataSet();using(SqlConnection conn = new SqlConnection(connectionStr)){SqlDataAdapter adapter =new SqlDataAdapter("select * from tb_Class",conn);adapter.Fill(ds);}rptClass.DataSource = ds;rptClass.DataBind();}protected void rptClass_ItemDataBound(object sender, RepeaterItemEventArg s e){if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListIt emType.AlternatingItem){Repeater rpt = e.Item.FindControl("rptModule") as Repeater;//找到分类Repeater关联的数据项DataRowView rowv = (DataRowView)e.Item.DataItem;//提取分类IDint id = (int)rowv["id"];DataSet ds = new DataSet();using (SqlConnection conn = new SqlConnection(connectionStr)){SqlDataAdapter adapter =new SqlDataAdapter("select * from tb_Module where classId ="+ id +"", conn);adapter.Fill(ds);}rpt.DataSource = ds;rpt.DataBind();}}}------这是页面------<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inher its="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o rg/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" ><head runat="server"><title>嵌套RepeaterDEMO</title></head><body><form id="form1" runat="server"><div><asp:Repeater ID="rptClass" runat="server" OnItemCommand="rptClas s_ItemCommand" OnItemDataBound="rptClass_ItemDataBound"><HeaderTemplate><table><tr style="background-color:yellow"><td>添加类别:<asp:TextBox ID="txtClassName" runat="server" ></asp:TextBox><asp:Button ID="btnAddClass" runat="server" C ommandName="AddClass" Text="添加" /></td></tr></HeaderTemplate><ItemTemplate><tr style="background-color:#CCCCCC"><td><asp:Button ID="btnDelClass" CommandArgument='<%# Eval("id") %>' CommandName="DelClass" runat="server" Text="删除类别" /><asp:TextBox ID="txtClassName" runat="server" Tex t='<%# Eval("className") %>'></asp:TextBox><asp:Button ID="btnUpdateClass" CommandArgument=' <%# Eval("id") %>' CommandName="UpdateClass" runat="server" Text="修改类别" /></td></tr><tr><td>添加模块:<asp:TextBox ID="txtModuleName" runat="server"></asp:TextBox><asp:Button ID="btnAddModule" runat="server" Comm andName="AddModule" CommandArgument='<%# Eval("id") %>' Text="添加" /></td></tr><tr><td><asp:Repeater ID="rptModule" runat="server"OnItemCommand='rptModule_ItemCommand'><ItemTemplate><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;-----------------<asp:Button ID="btnDeleteModule" Comm andArgument='<%# Eval("id") %>' CommandName="DelModule" runat="server" Text="删除模块" /><asp:TextBox ID="txtModuleName" Text= '<%# Eval("moduleName") %>' runat="server"></asp:TextBox><asp:Button ID="btnUpdateModule" CommandArgument='<%# Eval("id") %>' CommandName="UpdateModule" runat="server" Text= "修改模块" /></td></tr></ItemTemplate></asp:Repeater></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater></div></form></body></html>。

Repeater使用说明

Repeater使用说明
#region Windows 窗体设计器生成代码
/// <summary> /// 设计器支持所需思路方法 - 不要 /// 使用代码编辑器修改此思路方法内容 /// </summary> private void InitializeComponent { this.button1 = .Windows.Forms.Button; this.textBox1 = .Windows.Forms.TextBox; this.dataGridView1 = .Windows.Forms.DataGridView; ((.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit; this.SuspendLayout; // // button1 // this.button1.Location = .Drawing.Po(312, 44); = "button1"; this.button1.Size = .Drawing.Size(75, 23); this.button1.TabIndex = 1; this.button1.Text = "button1";
dv.RowFilter=expression;
dataGridView1.DataSource=dv; }
private void Form1_Load(object sender, EventArgs e) {
dt.Columns.Add( DataColumn("ID")); dt.Columns.Add( DataColumn("name")); DataRow dr0 = dt.NewRow; dr0[0] = "1"; dr0[1] = "张 3"; DataRow dr1 = dt.NewRow; dr1[0] = "2"; dr1[1] = "李 4"; DataRow dr2 = dt.NewRow; dr2[0] = "3"; dr2[1] = "李 5"; dt.Rows.Add(dr0); dt.Rows.Add(dr1); dt.Rows.Add(dr2); dataGridView1.DataSource = dt.DefaultView; } } } 窗体设计代码

aspnetPager控件使用详解

aspnetPager控件使用详解

2009-04-16 08:14一、AspNetPager7.2分页控件简介分页是Web应用程序中最常用到的功能之一,在中,虽然自带了一个可以分页的DataGrid( 1.1)和GridView( 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,而且有时候我们需要对DataList和Repeater甚至自定义数据绑定控件进行分页,手工编写分页代码不但技术难度大、任务繁琐而且代码重用率极低,因此分页已成为许多程序员最头疼的问题之一。

AspNetPager针对分页控件的不足,提出了与众不同的解决中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现分页导航功能的地方,如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、Access、mysql、DB2等数据库以及XML文件、内存数据或缓存中的数据、文件系统等等。

AspNetPager 7.2 版发布新增属性PagingButtonLayoutType,可设置分页导航元素(数字页索引、上页、下页、首页和尾页)的布局方式,该属性值是一个PagingButtonLayoutType枚举,通过设置该属性为PagingButtonLayoutType.UnorderedList或PagingButtonLayoutType.Span,允许将这些分页导航元素包含在<li>与</li>或<span>与</span>标签之间,以便于为这些分页元素应用CSS样式。

新增PagingButtonClass 与PagingButtonStyle 属性,可以单独为分页导航按钮(数字页索引、上页、下页、首页和尾页)设置CSS样式;新增FirstLastButtonClass 与FirstLastButtonStyle 属性,可以单独为首页和尾页分页导航按钮设置CSS样式,如果该属性未设置,但指定了PagingButtonClass 与PagingButtonStyle 属性的值,则首页和尾页按钮样式将使用PagingButtonClass 与PagingButtonStyle 属性中指定的样式;新增NextPrevButtonClass 与NextPrevButtonStyle 属性,可以单独为上页和下页分页导航按钮设置CSS样式,如果该属性未设置,但指定了PagingButtonClass 与PagingButtonStyle 属性的值,则上页和下页按钮样式将使用PagingButtonClass 与PagingButtonStyle 属性中指定的样式;新增MoreButtonClass 与MoreButtonStyle 属性,可以单独为更多页(...)分页导航按钮设置CSS样式,如果该属性未设置,但指定了PagingButtonClass 与PagingButtonStyle 属性的值,则上页和下页按钮样式将使用PagingButtonClass 与PagingButtonStyle 属性中指定的样式;新增属性ShowMoreButtons ,可以指定是否显示更多页按钮;新增属性CurrentPageButtonPosition ,可设置在每次分页后,当前页数字索引在所有的数字页索引中的显示位置,该属性值是一个PagingButtonPosition枚举,对应的值及说明如下:Beginning:当前页数字索引总是显示在所有数字页索引的最前面;End:当前页数字索引总是显示在所有数字页索引的最后面;Center:当前页数字索引总是显示在所有数字页索引的中间;Fixed:默认值,固定不变;控件的CssClass属性仅应用于控件的窗口元素(div),将不再应用于下属分页元素;废止属性CenterCurrentPageButton,可以用CurrentPageButtonPosition属性取代;修改CurrentPageIndexn属性,允许在程序中任何地方以编程方式设置CurrentPageIndex的值来动态指定当前页,直接设置该属性的值时将同时引发PageChanging和PageChanged 事件,实现和点击分页按钮一样的分页功能;修正了7.1版中设置SubmitButtonImageUrl属性后,Postback回发分页方式情况下点击数字页索引按钮不引发分页事件的bug;修正了使用Url分页时,如果页面上没有服务器端form控件时无法注册客户端脚本的bug,从7.2版起如果使用Url分页并且ShowPageIndexBox属性没有设置为Never时,AspNetPager控件必须放在<form runat="server">与</form>标记之间,若使用Url分页并且ShowPageIndexBox为Never时,页面上可以不使用服务器端form控件。

reactivecrudrepository 分页 -回复

reactivecrudrepository 分页 -回复

reactivecrudrepository 分页-回复ReactiveCrudRepository 分页是什么?在现代的软件开发中,数据操作和处理是非常重要的一环。

而对于数据库的操作,常常需要进行分页查询。

分页查询是指在查询操作中,按照指定的页码和每页显示的数量,将查询的结果划分成一页一页的数据返回给用户。

在实际的应用中,我们需要根据实际情况,划定每一页的数据量,以便提供更好的用户体验。

对于Spring Data框架来说,提供了一个非常强大且灵活的分页查询解决方案。

其中,ReactiveCrudRepository是Spring Data的一部分,它是一个接口,用于处理与数据库的基本交互操作,并且支持响应式编程模型。

具体而言,它提供了如下几个功能:1. 插入数据:ReactiveCrudRepository提供了一系列的插入方法,可以用于将数据插入到数据库中。

这些方法使开发者能够方便地进行数据的持久化操作。

在插入数据时,我们可以通过设置返回的Publisher,从而实现异步的数据插入操作。

2. 查询数据:ReactiveCrudRepository通过提供一系列的查询方法,使开发者能够方便地进行数据查询操作。

这些方法包括通过主键查询、通过指定字段查询、按照条件查询等等。

而在分页查询方面,ReactiveCrudRepository提供了更为便捷的方法,通过指定页码和每页显示的数量,即可获取到分页查询的结果。

3. 更新数据:除了插入和查询操作之外,ReactiveCrudRepository还支持数据的更新操作。

开发者可以更新指定的数据,并将其持久化到数据库中。

这样,我们就可以使用ReactiveCrudRepository来在业务逻辑中实现更新操作,例如更改用户的密码、更新订单的状态等。

4. 删除数据:最后,ReactiveCrudRepository还提供了数据删除的方法。

通过指定要删除的数据,我们可以方便地删除数据库中的相关记录。

Repeater控件的用法

Repeater控件的用法

Repeater控件的用法Repeater 控件的用法Repeater 控件是一种常见的 Web 控件,它用于在页面上重复显示相同的 HTML 或自定义内容。

本文将介绍 Repeater 控件的用法,包括绑定数据源、设置模板、数据处理以及常用功能等。

一、绑定数据源Repeater 控件需要绑定数据源才能显示内容。

可以通过以下步骤进行数据源绑定:1. 在 页面上添加 Repeater 控件,在设计视图中或通过代码创建。

2. 在代码文件中定义一个数据源,可以是集合、数据集、数据库查询结果等。

3. 在 Page_Load 或其他事件中,将数据源绑定到 Repeater 控件。

示例代码如下:```csharpprotected void Page_Load(object sender, EventArgs e){if (!IsPostBack){List<string> data = GetDataFromDatabase(); // 从数据库获取数据 Repeater1.DataSource = data; // 将数据源绑定到 Repeater 控件 Repeater1.DataBind(); // 绑定数据}}```二、设置模板Repeater 控件使用模板来定义重复显示的 HTML 或自定义内容。

可以通过以下方式设置模板:1. 在 Repeater 控件内部,使用 <%# %> 语法绑定数据项的值。

2. 使用 <ItemTemplate> 标签来定义每个重复项的显示格式。

3. 在 <ItemTemplate> 中,可以使用任何有效的 HTML 标签和 控件。

示例代码如下:```html<asp:Repeater ID="Repeater1" runat="server"><ItemTemplate><div><h3><%# Eval("Title") %></h3><p><%# Eval("Content") %></p></div></ItemTemplate></asp:Repeater>```上述代码中,使用 Eval() 方法来绑定数据项的值,并在<ItemTemplate> 中定义了一个包含标题和内容的 div。

Repeater分页显示

Repeater分页显示

Repeater分页显示简单的说,先从控件工具箱中拖入两个label(currten page当前页,count page总页),四个linkbuttion (首/下页/上页/尾页)。

无非就是+1 -1 的问题,------------------------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;using System.Data.SqlClient;public partial class gonggao : erControl{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){bPage.Text = "1";this.contrlRepeater();}}//获取指字符个数的字符public string cuts(string aa,int bb){if (aa.Length <= bb) { return aa; }else { return aa.Substring(0, bb); }}//Repeater分页控制显示方法public void contrlRepeater(){pb pb1 = new pb();DataSet ss = new DataSet();ss = pb1.returnDs("select top 200 [标题],[时间] from news");PagedDataSource pds = new PagedDataSource();pds.DataSource = ss.T ables["temptable"].DefaultView;pds.AllowPaging = true;pds.PageSize = 2;pds.CurrentPageIndex = Convert.ToInt32(bPage.Text) - 1; Repeater1.DataSource = pds;LabCountPage.Text = pds.PageCount.ToString();labPage.Text = (pds.CurrentPageIndex + 1).ToString();this.lbtnpritPage.Enabled = true;this.lbtnFirstPage.Enabled = true;this.lbtnNextPage.Enabled = true;this.lbtnDownPage.Enabled = true;if(pds.CurrentPageIndex<1){this.lbtnpritPage.Enabled = false;this.lbtnFirstPage.Enabled = false;}if (pds.CurrentPageIndex == pds.PageCount-1){this.lbtnNextPage.Enabled = false;this.lbtnDownPage.Enabled = false;}Repeater1.DataBind();}protected void lbtnpritPage_Click(object sender, EventArgs e){bPage.Text = Convert.ToString(Convert.ToInt32(labPage.Text) - 1); this.contrlRepeater();}protected void lbtnFirstPage_Click(object sender, EventArgs e){bPage.Text = "1";this.contrlRepeater();}protected void lbtnDownPage_Click(object sender, EventArgs e){bPage.Text =bCountPage.Text;this.contrlRepeater();}protected void lbtnNextPage_Click(object sender, EventArgs e){bPage.Text = Convert.ToString(Convert.ToInt32(labPage.Text) + 1); this.contrlRepeater();}}--------------------------------------------------------aspx文件:<%@ Control Language="C#" AutoEventWireup="true" CodeFile="gonggao.ascx.cs" Inherits="gonggao" %><table><asp:Repeater ID="Repeater1" runat="server"><ItemTemplate><tr><td><a href=""><%# cuts(DataBinder.Eval(Container.DataItem,"[标题]").ToString(),8)%></a></td><td><a href=""><%# cuts(DataBinder.Eval(Container.DataItem,"[时间]").ToString(),5)%></a></td></tr></ItemTemplate></asp:Repeater></table><table border="1"><tr><td align="center"><asp:LinkButton ID="lbtnFirstPage" runat="server" OnClick="lbtnFirstPage_Click">页首</asp:LinkButton><asp:LinkButton ID="lbtnpritPage" runat="server" OnClick="lbtnpritPage_Click">上一页</asp:LinkButton><asp:LinkButton ID="lbtnNextPage" runat="server" OnClick="lbtnNextPage_Click">下一页</asp:LinkButton><asp:LinkButton ID="lbtnDownPage" runat="server" OnClick="lbtnDownPage_Click">页尾</asp:LinkButton><br />第<asp:Label ID="labPage" runat="server" Text="Label"></asp:Label>页/共<asp:Label ID="LabCountPage" runat="server" Text="Label"></asp:Label>页跳至<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList></td></tr></table>附:pb.returnDs(根据SQL语句返回dataSet数据集.temptable表)public DataSet returnDs(string sqlStr){DataSet ds = new DataSet();try{//conn.Open();SqlCommand comm = new SqlCommand(sqlStr, conn);mandTimeout = 20;this.conn.Open();SqlDataAdapter sda = new SqlDataAdapter(comm);sda.Fill(ds, "temptable");return ds;conn.Close(); conn.Dispose(); comm.Dispose();}catch (Exception e){throw (e);// ds = null;return ds;}finally{this.conn.Close();}}关于何种情况下使用DataGrid、DataList或Repeater的一些讨论(4) ambushaa [翻译] [转][Repeater控件]Repeater控件是三种数据控件中在HTML输出方面最为灵活的控件。

Repeater控件的嵌套使用、自定义分页及加链接,样式制定源代码

Repeater控件的嵌套使用、自定义分页及加链接,样式制定源代码

Repeater控件的嵌套使用、自定义分页及加链接,样式制定源代码Repeater控件自定义分页及加链接,样式制定源代码。

.cs文件代码:using System;using System.Data;using System.Configuration;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;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page...{protected void Page_Load(object sender, EventArgs e)...{if (!IsPostBack)...{myRepeater.DataSource = pds();//为Repeater1控件指定数据源myRepeater.DataBind();//这个当然是必须的,绑定上去}}private PagedDataSource pds()...{SqlConnection myconn = new SqlConnection("Data Source=192.168.201.108;Initial CataLog=陈乐斌;User ID=sa;Password=yttvmedia");myconn.Open();SqlDataAdapter da = new SqlDataAdapter("select id,username,password,email,tel,age from [user] order by id desc", myconn);DataSet ds = new DataSet();da.Fill(ds, "user");SqlDataAdapter da2 = new SqlDataAdapter("select classid,classname,teachername,id,time,score,slevel from [class]", myconn);da2.Fill(ds, "class");ds.Relations.Add("myrela", ds.Tables["user"].Columns["id"], ds.Tables["class"].Columns["id"]);//为上面建立的两个表创建一个关系,指明父列和子列的名称并为他们的关系命名PagedDataSource pds = new PagedDataSource();//初始化一个PagedDataSource,允许控件分页pds.DataSource = ds.Tables["user"].DefaultView;//将上面的ds转换成标准数据视图pds.AllowPaging = true;//允许分页pds.PageSize = 5;//每页大小为5pds.CurrentPageIndex = Convert.ToInt32(Request.QueryString["page"]);//设置当前页return pds;//将处理完毕的pds对象发出去}protected void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)...{if (e.Item.ItemType == ListItemType.Footer)...{//判断当前项是页脚模板int n = pds().PageCount;//将分页总数赋给变量nint i = pds().CurrentPageIndex;//将当前分页码赋给iLabel lblpc = (Label)e.Item.FindControl("lblpc");lblpc.Text = n.ToString();//找到lblpc这个Label,将总页码赋给他Label lblp = (Label)e.Item.FindControl("lblp");lblp.Text = Convert.ToString(pds().CurrentPageIndex+1);//找到lblp这个Label,将当前页码赋给他,但是注意,因为页码从0开始,这里要直观的话就得加1 HyperLink hlfir = (HyperLink)e.Item.FindControl("hlfir");hlfir.NavigateUrl = "?page=0";HyperLink hlla = (HyperLink)e.Item.FindControl("hlla");hlla.NavigateUrl = "?page="+Convert.ToInt32(n-1);//找到表示最前页和末页的Label,为他们的NavigateUrl属性赋为第0页和最大页码减1HyperLink hlp = (HyperLink)e.Item.FindControl("hlp");HyperLink hln = (HyperLink)e.Item.FindControl("hln");//找到表示上页和下页这两个控件if (i <= 0)...{//如果当前页已经是第0页hlfir.Enabled = false;hlp.Enabled = false;hln.Enabled = true;}else...{hlp.NavigateUrl = "?page=" + Convert.ToInt32(i-1);}if (i > n - 2)...{//如果当前项已经是最末页hln.Enabled = false;hlla.Enabled = false;hlp.Enabled = true;}else...{hln.NavigateUrl = "?page=" + Convert.ToInt32(i+1);}DropDownList ddlpage = (DropDownList)e.Item.FindControl("ddlpage");for (int p = 0; p < n; p++)...{ddlpage.Items.Add(Convert.ToString(p + 1));if (p == i)...{ddlpage.SelectedIndex = p;}}}}protected void ddl_SelectedChanged(object sender, EventArgs e)...{DropDownList ddl = (DropDownList)sender;Page.Response.Redirect("?page=" +(Convert.ToInt32(ddl.SelectedItem.Value)-1));}}aspx文件:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Import Namespace="System.Data" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div><asp:Repeater ID="myRepeater" runat="server" OnItemDataBound="myRepeater_ItemDataBound"><HeaderTemplate><table width="500px" cellspacing="1" cellpadding="0" border="0"> <tr style="background-color:#DFA894"><th style="height:30px">编号</th><th>姓名</th><th>密码</th><th>年龄</th><th>电话</th><th>邮箱</th></tr><tr><td style="height:8px"></td></tr></HeaderTemplate><ItemTemplate><tr><td><%# DataBinder.Eval(Container.DataItem,"id") %></td><td><%# DataBinder.Eval(Container.DataItem,"username") %></td><td><%# DataBinder.Eval(Container.DataItem,"password") %></td><td><%# DataBinder.Eval(Container.DataItem,"age") %></td><td><%# DataBinder.Eval(Container.DataItem,"tel") %></td><td><a href="mailto:<%# Eval("email") %>"><%# DataBinder.Eval(Container.DataItem,"email") %></a></td></tr><asp:Repeater ID="myRepeater2" runat="server" DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrela") %>'> <ItemTemplate><tr><td style="height:8px"></td></tr><tr><td align="center"></td><td style="font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["classname"]") %></td><td style="font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["teachername"]") %> </td><td style="font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["time"]") %></td><td style="font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["score"]") %></td><td style="font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["slevel"]") %></td></tr></ItemTemplate></asp:Repeater></ItemTemplate><AlternatingItemTemplate><tr><td style="color:#000099;"><%# Eval("id") %></td><td style="color:#000099;"><%# Eval("username") %></td><td style="color:#000099;"><%# Eval("password") %></td><td style="color:#000099;"><%# Eval("age") %></td><td style="color:#000099;"><%# Eval("tel") %></td><td style="color:#000099;"><a href="mailto:<%# Eval("email") %>"><%# Eval("email") %></a></td></tr><asp:Repeater ID="myRepeater2" runat="server" DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrela") %>'> <ItemTemplate><tr><td style="height:8px"></td></tr><tr><td align="center"></td><td style="color:#000099; font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["classname"]") %></td><td style="color:#000099; font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["teachername"]") %></td><td style="color:#000099; font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["time"]") %></td><td style="color:#000099; font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["score"]") %></td><td style="color:#000099; font-size:9pt"><%# DataBinder.Eval(Container.DataItem,"["slevel"]") %></td></tr></ItemTemplate></asp:Repeater></AlternatingItemTemplate><SeparatorTemplate><tr><td colspan="6" style="height:15px;"><hr style="size:1pt;" /></td></tr></SeparatorTemplate><FooterTemplate><tr><td style="height:8px"></td></tr><tr><td colspan="6" style="font-size: 9pt; color: #0099ff; background-color: #e6feda;">共<asp:Label ID="lblpc" runat="server"Text="Label"></asp:Label> 页当前为第<asp:Label ID="lblp" runat="server" Text="Label"></asp:Label> 页<asp:HyperLink ID="hlfir" runat="server" Text="首页"></asp:HyperLink><asp:HyperLink ID="hlp" runat="server" Text="上一页"></asp:HyperLink><asp:HyperLink ID="hln" runat="server" Text="下一页"></asp:HyperLink><asp:HyperLink ID="hlla" runat="server" Text="末页"></asp:HyperLink>跳转到<asp:DropDownList ID="ddlpage" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedChanged"> </asp:DropDownList></td></tr></table></table></FooterTemplate></asp:Repeater> </div></form></body></html>。

asp下Repeater使用AspNetPager分页控件详解

asp下Repeater使用AspNetPager分页控件详解

下Repeater使用AspNetPager分页控件AspNetPager针对分页控件的不足,提出了与众不同的解决中分页问题的方案一、AspNetPager分页控件分页是Web应用程序中最常用到的功能之一,在中,虽然自带了一个可以分页的DataGrid ( 1.1)和GridView( 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,而且有时候我们需要对DataList和Repeater甚至自定义数据绑定控件进行分页,手工编写分页代码不但技术难度大、任务繁琐而且代码重用率极低,因此分页已成为许多程序员最头疼的问题之一。

AspNetPager针对分页控件的不足,提出了与众不同的解决中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现分页导航功能的地方,如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、Access、mysql、DB2等数据库以及XML文件、内存数据或缓存中的数据、文件系统等等。

二、基本属性:AlwaysShow:默认情况下,当要分页的数据只有一页时,AspNetPager默认会自动危险期而不在页面上显示任何可见内容,将此属性值设为true时,即使总页数只有一页,AspNetPager也将显示分页导航元素。

FirstPageText:获取或设置为第一页按钮显示的文本。

LastPageText:获取或设置为最后一页按钮显示的文本。

NextPageText:获取或设置为下一页按钮显示的文本。

PrevPageText:获取或设置为上一页按钮显示的文本。

PageSize:获取或设置每页显示的项数。

Repeater控件用法及使用

Repeater控件用法及使用

Repeater控件⽤法及使⽤//1 使⽤REPEATER控件显⽰数据(指定字段显⽰)RepeaterBind.DataSource = ds.Tables["testTable"];RepeaterBind.DataBind();<asp:Repeater id="RepeaterBind" runat="server"><ItemTemplate><li><%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")%><%#DataBinder.Eval(Container.DataItem,"LastName")%><%#DataBinder.Eval(Container.DataItem,"FirstName")%></li></ItemTemplate></asp:Repeater>-------------------------------------------------//2 REPEATER控件交替项显⽰<asp:Repeater id="RepeaterBind" runat="server"><HeaderTemplate><h3>头部分</h3></HeaderTemplate><ItemTemplate><li><%#DataBinder.Eval(Container.DataItem,"LastName")%>交替项</li></ItemTemplate><AlternatingItemTemplate><h4><font color=red><%#DataBinder.Eval(Container.DataItem,"LastName")%> 交替项</font></h4></AlternatingItemTemplate><FooterTemplate><h3></h3>脚部分</FooterTemplate></asp:Repeater>//3 分页类的使⽤,Repeater控件分页private void Page_Load(object sender, System.EventArgs e){//页⾯初试化时进⾏数据绑定if(!IsPostBack)RepeaterDataBind();}private void RepeaterDataBind(){//定义数据连接对象,其中数据库连接字符串是在Web.Config⽂件中定义的SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString()); //创建数据适配器对象SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,TitleOfCourtesy from Employees",conn); //创建DataSet对象DataSet ds = new DataSet();try{//填充数据集da.Fill(ds,"testTable");//创建分页类PagedDataSource objPage = new PagedDataSource();//设置数据源objPage.DataSource = ds.Tables["testTable"].DefaultView;//允许分页objPage.AllowPaging = true;//设置每页显⽰的项数objPage.PageSize = 5;//定义变量⽤来保存当前页索引int CurPage;//判断是否具有页⾯跳转的请求if (Request.QueryString["Page"] != null)CurPage=Convert.ToInt32(Request.QueryString["Page"]);elseCurPage=1;//设置当前页的索引objPage.CurrentPageIndex = CurPage-1;//显⽰状态信息lblCurPage.Text = "当前页:第" + CurPage.ToString()+"页";//如果当前页⾯不是⾸页if (!objPage.IsFirstPage)//定义"上⼀页"超级链接的URL为:当前执⾏页⾯的虚拟路径,并传递下⼀页⾯的索引值lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);//如果当前页⾯不是最后⼀页if (!objPage.IsLastPage)//定义"下⼀页"超级链接的URL为:当前执⾏页⾯的虚拟路径,并传递下⼀页⾯的索引值lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1); //进⾏数据绑定RepeaterPage.DataSource = objPage;RepeaterPage.DataBind();}catch(Exception error){Response.Write(error.ToString());}}。

Repeater控件使用(含删除,分页功能)

Repeater控件使用(含删除,分页功能)

Repeater控件使用(含删除,分页功能)<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Repeater.aspx.cs" Inherits= <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtm <html xmlns="/1999/xhtml"><head runat="server"><title>Repeater控件使用</title><script language="javascript"type="text/javascript">function Check(parentChk,ChildId){var oElements = document.getElementsByTagName("INPUT");var bIsChecked = parentChk.checked;for(i=0; i<oElements.length;i++){if( IsCheckBox(oElements[i]) &&IsMatch(oElements[i].id, ChildId)){oElements[i].checked = bIsChecked;}}}function IsMatch(id, ChildId){var sPattern ='^Repeater1.*'+ChildId+'$';var oRegExp = new RegExp(sPattern);if(oRegExp.exec(id))return true;elsereturn false;}function IsCheckBox(chk){if(chk.type == 'checkbox') return true;else return false;}</script></head><body><form id="form1"runat="server"><div style="margin-bottom:20px;text-align:center; width:1006px;">Repeater控件使用</div> <asp:Repeater ID="Repeater1"runat="server"><%--SeparatorTemplate描述一个介于每条记录之间的分隔符--%><%--<SeparatorTemplate><tr><td colspan="5"><hr /></td></tr></SeparatorTemplate>--%><HeaderTemplate><table border="1"cellpadding="0"cellspacing="0"style="width:1006px;border-collapse:coll <tr><td style="background-color:#cccccc; font-weight:bold; height:25px;"><input id="chkAll"<td style="background-color:#cccccc; font-weight:bold; height:25px;">View</td><td style="background-color:#cccccc; font-weight:bold; height:25px;">CustomerID</td> <td style="background-color:#cccccc; font-weight:bold;">CompanyName</td><td style="background-color:#cccccc; font-weight:bold;">ContactName</td><td style="background-color:#cccccc; font-weight:bold;">ContactTitle</td><td style="background-color:#cccccc; font-weight:bold;">Address</td></tr></HeaderTemplate><ItemTemplate><tr><td><asp:CheckBox ID="chkItem"runat="server"/></td><td><a href='<%# "View.aspx?id="+DataBinder.Eval(Container.DataItem, "CustomerID") <td><asp:Label ID="lblID"Text='<%# DataBinder.Eval(Container.DataItem, "CustomerID"<td><%# DataBinder.Eval(Container.DataItem, "CompanyName")%></td><td><%# DataBinder.Eval(Container.DataItem, "ContactName")%></td><td><%# DataBinder.Eval(Container.DataItem, "ContactTitle")%></td><td><%# DataBinder.Eval(Container.DataItem, "Address")%></td></tr></ItemTemplate><%--AlternatingItemTemplate描述交替输出行的另一种外观--%><AlternatingItemTemplate><tr bgcolor="#e8e8e8"><td><asp:CheckBox ID="chkItem"runat="server"/></td><td><a href='<%# "View.aspx?id="+DataBinder.Eval(Container.DataItem, "CustomerID") <td><asp:Label ID="lblID"Text='<%# DataBinder.Eval(Container.DataItem, "CustomerID"<td><%# DataBinder.Eval(Container.DataItem, "CompanyName")%></td><td><%<td><%# DataBinder.Eval(Container.DataItem, "ContactTitle")%></td><td><%# DataBinder.Eval(Container.DataItem, "Address")%></td></tr></AlternatingItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater><div style="background-color:#dedede; width:1006px;"><asp:Button ID="btnDel"runat="server"Text="删除"OnClick="btnDel_Click"/><asp:label ID="lblCurrentPage"runat="server"></asp:label><asp:HyperLink id="lnkFrist"runat="server">首页</asp:HyperLink><asp:HyperLink id="lnkPrev"runat="server">上一页</asp:HyperLink><asp:HyperLink id="lnkNext"runat="server">下一页</asp:HyperLink><asp:HyperLink id="lnkEnd"runat="server">尾页</asp:HyperLink></div></form></body></html>后台CS部分代码: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;using System.Data.SqlClient;public partial class Repeater : System.Web.UI.Page{PagedDataSource PDS = new PagedDataSource();private string ConnStr = ConfigurationManager.AppSettings["dbConnectionString"];private string strsql = "";protected void Page_Load(object sender, EventArgs e){if(!this.Page.IsPostBack){this.bind();}}{int TotalCount = 0;//总记录数int TotalPage = 1; //总页数SqlConnection conn = new SqlConnection(ConnStr);conn.Open();SqlDataAdapter da = new SqlDataAdapter("select CustomerID,CompanyName,ContactName DataSet ds = new DataSet();da.Fill(ds, "Customers");DataView dv = ds.Tables[0].DefaultView;TotalCount = dv.Count;PDS.DataSource = dv;conn.Close();PDS.AllowPaging = true;PDS.PageSize = 20;int CurPage;if(Request.QueryString["Page"] != null)CurPage=Convert.ToInt32(Request.QueryString["Page"]);elseCurPage=1;if(TotalCount == 0)TotalPage = 1;else{if(TotalCount % PDS.PageSize == 0)TotalPage = TotalCount / PDS.PageSize;elseTotalPage = TotalCount / PDS.PageSize + 1;}PDS.CurrentPageIndex = CurPage-1;lblCurrentPage.Text = "共" + TotalCount.ToString() + "条记录当前页:" + CurPage.ToString()lnkFrist.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1";if(!PDS.IsFirstPage)lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Cif(!PDS.IsLastPage)lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + C lnkEnd.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + TotalPage;Repeater1.DataSource=PDS;Repeater1.DataBind();}protected void btnDel_Click(object sender, EventArgs e)string ID = "";for(int i = 0; i < this.Repeater1.Items.Count; i++){CheckBox cbox = (CheckBox)this.Repeater1.Items[i].FindControl("chkItem");if(cbox.Checked == true){if(ID == ""){ID = "'"+((Label)this.Repeater1.Items[i].FindControl("lblID")).Text+"'";}else{ID += "," + "'" + ((Label)this.Repeater1.Items[i].FindControl("lblID")).Text + "'";}}}strsql = "delete from Customers where CustomerID in (" + ID + ")";try{SqlConnection conn = new SqlConnection(ConnStr);SqlCommand comm = new SqlCommand(strsql, conn);comm.Connection.Open();comm.ExecuteNonQuery();comm.Connection.Close();System.Web.HttpContext.Current.Response.Write("<script language='javascript'>alert('刪}catch(System.Data.SqlClient.SqlException E){throw new Exception(E.Message);}finally{if(conn.State == ConnectionState.Open)conn.Close();}this.bind();}}ater.aspx.cs" Inherits="Repeater" %>" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">x;">Repeater控件使用</div>h:1006px;border-collapse:collapse; text-align:center;">ht:25px;"><input id="chkAll"name="chkAll"runat="server"type="checkbox"onclick="Check(this,'chkItem')"title="全ht:25px;">View</td>ht:25px;">CustomerID</td>mpanyName</td>ntactName</td>ntactTitle</td>dress</td>ner.DataItem, "CustomerID") %>' target="_blank">View</a></td>ainer.DataItem, "CustomerID")%>' runat="server"></asp:Label></td>ner.DataItem, "CustomerID") %>' target="_blank">View</a></td>ainer.DataItem, "CustomerID")%>' runat="server"></asp:Label></td>btnDel_Click"/> onnectionString"];,CompanyName,ContactName,ContactTitle,Address from Customers order by CustomerID desc", conn);当前页:" + CurPage.ToString() + "/" + TotalPage;"?Page=" + Convert.ToString(CurPage - 1);"?Page=" + Convert.ToString(CurPage + 1);age=" + TotalPage;ontrol("chkItem");"lblID")).Text+"'";Control("lblID")).Text + "'";='javascript'>alert('刪除成功!');</script>");Check(this,'chkItem')"title="全选"/>全</td>D desc", conn);。

C#Repeater控件的使用

C#Repeater控件的使用

C#Repeater控件的使⽤⼀、Repeater的⽤途⽤来显⽰数据⼆、Repeater的使⽤步骤step1:在⽹页中拖⼊⼀个Repeater控件。

在后台代码中,指定它的数据源,需要⼀个List泛型集合。

public partial class query : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){Repeater1.DataSource = new FruitDA().select();Repeater1.DataBind();}}step2.在源代码⾥编辑列名,指定需要显⽰的数据的属性名。

运⾏结果查看源代码⼩贴⼠:Repeater没有在⽹页中显⽰任何东西,只是把⽂字数据传递到⽹页中。

和Literal控件是⼀样的。

三、超链接传输数据给新页⾯添加⼀个事件protected void Page_Load(object sender, EventArgs e){Response.Write(Request["Ids"]);}运⾏结果点击“菠萝”⼩贴⼠:当⽤超链接传输数据后,在⿏标位于超链接上时,可以在下⽅状态栏看到⽹址的变化。

在接受数据的新页⾯的地址栏也可以看到区别。

四、综合运⽤㈠以表格形式显⽰⽹页中的数据本质:利⽤Repeater控件拼写字符串。

运⾏结果㈡交替项标签<AlternatingItemTemplate>的使⽤。

<ItemTemplate><tr><td bgcolor="blue"><%#Eval("Ids") %> </td><td><%#Eval("Name") %></td></tr></ItemTemplate><AlternatingItemTemplate><td bgcolor="green"><%#Eval("Ids") %> </td><td ><%#Eval("Name") %></td></AlternatingItemTemplate>运⾏结果显⽰数据时,项标签和交替项标签交替执⾏,先执⾏项标签,再执⾏交替项标签。

Repeater控件实现Table行变色

Repeater控件实现Table行变色

在实际开发过程中为使Repeater控件更为美观,通常会使用写小技巧.其中最常用的就是鼠标经过变色的功能,下面介绍该功能的实现:1. repeater数据绑定后简单一步搞定<asp:Repeater ID="Repeater1"runat="server"><HeaderTemplate><table cellpadding="1"cellspacing="1"border="0"><tr bgcolor="White"align="center"><td></td><td>姓名</td><td>性别</td><td>账号</td><td>昵称</td><td>电话</td><td>手机</td><td>QQ</td><td>积分</td><td>权限</td><td>目前状态</td><td>站点</td><td>操作</td></tr></HeaderTemplate><ItemTemplate><tr onmousemove="this.style.backgroundColor='#0099CC'"onmouseout="this.style.backgroundColor='#ffffff'"align="center"><td><%#Container.ItemIndex + 1%></td><td><%#Eval("realname") %></td><td><%#Eval("sex") %></td><td><%#Eval("username") %></td><td><%#Eval("nickname") %></td><td><%#Eval("mobile") %></td><td><%#Eval("phone") %></td><td><%#Eval("qq") %></td><td><%#Eval("integral") %></td><td><%#Eval("rank") %></td><td><%#Eval("state")%></td><td><%#Eval("website") %></td><td><a href='../user/UserUpdate.aspx?userid=<%#Eval ("userid") %>'>编辑</a> | <a href='PersonnelList.aspx?operation=delete&userid=<%#Eval ("userid") %>'onclick="return confirm('确认要删除该成员吗?');">删除</a></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater>使用Repeater做Table交替行变色、鼠标经过变色及单击变色效果本文教程是开发使用Repeater控件绑定数据列表,数据列表要做出的效果如T able交替行颜色、鼠标经过颜色、单击颜色,效果如下:前台.ASPX内容如下HTML Code []<%@ Page Title="" Language="C#"MasterPageFile="~/SystemBase/MainMasterPage.master"AutoEventWireup="true" CodeFile="Spreater.aspx.cs" Inherits="Spreater" %><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"runat="Server"><script src="App_Js/JSCommon.js" type="text/javascript"></script><div style="width: 800px"><ContentTemplate><asp:Repeater ID="Rep" runat="server"><HeaderTemplate><table id="Tab" class="Rep_tab"><tr><th style="width:120px"> 组编号</th><th style="width: 120px"> 组名称</th><th style="width: 100px"> 组上级编号</th><th style="width: 120px">序号</th><th style="width: 80px"> 层次</th><th style="width: 160px">子组数据</th><th style="width: 160px">标志</th></tr></HeaderTemplate><ItemTemplate><tr> <td><%#DataBinder.Eval(Container.DataItem," GroupID")%></td> <td><%#DataBinder.Eval(Container.DataItem,"G _CName")%></td><td><%#DataBinder.Eval(Container.DataItem,"G_ParentID")%></td><td><%#DataBinder.Eval(Container.DataItem,"G_ShowOrder")%></td><td><%#DataBinder.Eval(Container.DataItem,"G_Level")%></td><td><%#DataBinder.Eval(Container.DataItem,"G_ChildCount")%></td><td><%#DataBinder.Eval(Container.DataItem,"G_Delete")%></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater><div style="width: 80%"></div></div></ContentTemplate></div><script type="text/javascript" language="javascript">window.onload =SetTableColor("Tab");</script></asp:Content>下面是JS关键代码:function SetTableColor(TableID) {var clickClass = ""; //点击样式名var moveClass = ""; //鼠标经过样式名var clickTR = null; //点击的行var moveTR = null; //鼠标经过行var Ptr = document.getElementById(TableID).getElementsByTagName("tr");for (i = 1; i < Ptr.length 1; i ) {Ptr[i - 1].className = (i % 2 > 0) ? "Rep_Tab_EvenTr" : "Rep_Tab_OddTr";}//设置鼠标的动作事件for (var i = 1; i < Ptr.length; i ) {var Owner = Ptr[i].item;//鼠标经过事件Ptr[i].onmouseover = function Move() {if (clickTR != this) {if (moveTR != this) {moveClass = this.className;moveTR = this;this.className = "Rep_Tr_Move";}}}//鼠标离开事件Ptr[i].onmouseout = function Out() {if (clickTR != this) {moveTR = null;this.className = moveClass;}}//鼠标单击事件Ptr[i].onclick = function Ck() {if (clickTR != this) {if (clickTR) {clickTR.className = clickClass;}clickTR = this;clickClass = moveClass;}this.className = "Rep_Tr_Click";}}}接下来我们再来看下CSS样式关键代码:/*-----------------Repeater 控件内部Table样式定义-----------------*//* Repeater内部Table的样式 */.Rep_tab{width: 100%;margin: 0px auto;font: Georgia 11px;font-size: 12px;font-family: Tahoma, Arial, Helvetica, Sans-serif, "宋体"; color: #333333;text-align: center;vertical-align:middle;border-collapse: collapse; /*细线表格代码*/}/* Repeater内部Table的td样式 */.Rep_tab td{border:1px solid #4d9ab0; /*细线表格线条颜色*/height: 25px;}/* Repeater内部Table的caption样式 */.Rep_tab caption{text-align: center;font-size: 12px;font-weight: bold;margin: 0 auto;}/* Repeater内部Table的TR的奇数行样式 */.Rep_Tab_OddTr{background-color: #f8fbfc;color: #000000;height: 25px;}/* Repeater内部Table的TR的偶数行样式 */.Rep_Tab_EvenTr{background-color: #e5f1f4;color: #000000;height: 25px;}.Rep_Tab_HeaderTr{background-color: #ffffee;color: #000000;}/*鼠标经过的颜色*/.Rep_Tr_Move{background-color: #ecfbd4;color: #000000;height: 25px;}/* 鼠标点击的颜色*/.Rep_Tr_Click{background-color: #bce774;color: #333333;height: 25px;}做好以上代码后,之后在.ASPX页面内容的<body>上加如下语句:<script type="text/javascript"language="javascript">window.onload =SetTableColor("Tab");</script>这样就可以了。

Repeater+Resources列表[原创][分享]

Repeater+Resources列表[原创][分享]

Repeater+Resources列表[原创][分享]根据公司的业务要求写了⼀个列表控件,⼤致实现以下功能(⼤体思路实现)1、数据绑定(可根据设置显⽰隐藏列表字段)2、根据resources⽂件设置列表头3、排序,分页4、列表的筛选功能主体代码:前台页⾯设置控件代码<div id="listTitle" style="width: 100%"class="bgblue"><ul><li style="width: 30px; text-align: center; float: left;"class="bgblue">选择</li><asp:Label ID="c1" runat="server" ></asp:Label><asp:Label ID="c2" runat="server" ></asp:Label><asp:Label ID="c3" runat="server" ></asp:Label><asp:Label ID="c4" runat="server" ></asp:Label><asp:Label ID="c5" runat="server" ></asp:Label><asp:Label ID="c6" runat="server" ></asp:Label><asp:Label ID="c7" runat="server" ></asp:Label><asp:Label ID="c8" runat="server" ></asp:Label><asp:Label ID="c9" runat="server" ></asp:Label><asp:Label ID="c10" runat="server" ></asp:Label></ul></div><div id="joblist"><asp:Repeater ID="resume" runat="server"><ItemTemplate><div style="width: 100%"class="navlist" id='<%# DataBinder.Eval(Container.DataItem, "ResumeID") %>'><ul><li style="width: 30px; text-align: center; float: left;"><input type="checkbox" name="checkbox" style="cursor: hand" value="<%# DataBinder.Eval(Container.DataItem, "id") %>" keyid='<%# DataBinder.Eval(Container.DataItem, "id") %>' url='<%# DataBinder.Eval(Container.DataItem, "url") %>'"'> </li><asp:Label ID="column1" runat="server" ></asp:Label><asp:Label ID="column2" runat="server" ></asp:Label><asp:Label ID="column3" runat="server" ></asp:Label><asp:Label ID="column4" runat="server" ></asp:Label><asp:Label ID="column5" runat="server" ></asp:Label><asp:Label ID="column6" runat="server" ></asp:Label><asp:Label ID="column7" runat="server" ></asp:Label><asp:Label ID="column8" runat="server" ></asp:Label><asp:Label ID="column9" runat="server" ></asp:Label><asp:Label ID="column10" runat="server" ></asp:Label></ul></div></ItemTemplate></asp:Repeater></div>后台代码实现:1using System;2using System.Collections;3using System.Configuration;4using System.Data;5using System.Linq;6using System.Web;7using System.Web.Security;8using System.Web.UI;9using System.Web.UI.HtmlControls;10using System.Web.UI.WebControls;11using System.Web.UI.WebControls.WebParts;12using System.Xml.Linq;1314using System.Text;15using System.Reflection;16using System.Collections.Generic;17using System.Resources;1819public partial class _Receive : PageBase20{21///<summary>22///初始默认值(显⽰列的字段)(数组)23///</summary>24private string[] columns = new string[] {25"IsSee",//是否查看 +126"JobSeekerName",//求职者姓名 +227"Jobname",//职位名称 +328"WorkYear",//⼯作年限 +429"NowCityCodevalue",//所在地址 +530"Degreevalue",//学历 +631"CreateDate",//创建⽇期 +732"SystemLeach",//系统过滤33"Assess",//简历评估34"Photo"//相⽚35 };3637private string[] CheckedRequestString = new string[]{38"JOBId",//职位id39"pjno",//折叠40"menuid",//套红41"positionid",//职位夹id42"summarystyleid",//列表显⽰样式43"workyear",//⼯作年限44"address",//地址45"degree",//学历46"tradeid",//⾏业id47"job",//岗位id48"sex",//性别49"vocationalid",//专业50"time",//⽇期51"wy",52"szdz",53"xl"54 };5556///<summary>57///初始默认值(显⽰列的字段)58///</summary>59private string seachShowColumns = PageBase.GetDefaultColumnCode(PageBase.PageTableNo.Receive.ToString()); 6061///<summary>62///初始排序字段63///</summary>64private string sortColumn = "CreateDate";65///<summary>66///初始排序的⽅式67///</summary>68private string sortDirection = "ASC";6970protected void Page_Load(object sender, EventArgs e)71 {72if (!this.IsPostBack)73 {74this.ddlDatabind();75this.InitColumns();76this.GetReceiveDatabind();7778///79this.txtwork.Value = System.DateTime.Now.ToString("yyyy-MM-dd");80///81 }82 }83数据列表加载340341设置需要查询的条件351352353354⾃定义属性390}391。

第08讲 Repeater控件应用

第08讲 Repeater控件应用
程序设计 李德奇主编
7
二、Repeater控件的项模板(4/7) 控件的项模板
列名 商品编号 商品名称 等级 产地 供货商 计量单位 单价 数量 图片URL 详情网页URL 数据类型 char char char char char char float float char char 10 20 10 20 20 10 8 8 20 20 长度 允许空 No No No No No No No No Yes Yes 是否主键 Yes No No No No No No No No No
<form id="Form1" method="post" runat="server"> <% ="品名 产地 单价"%> <%--显示Repeater控件的头部--%> <asp:repeater id="Repeater1" runat="server"> <AlternatingItemTemplate> <font face="黑体" color="#ff0000"><p> <b><%#DataBinder.Eval(Container.DataItem,"商品名称")%></b> <b><%#DataBinder.Eval(Container.DataItem,"产地")%></b>
Repeater控件应用 第八讲 Repeater控件应用
教学内容
一、模板概述 二、Repeater控件的项模板 控件的项模板 三、Repeater控件的交替项模板 控件的交替项模板 四、Repeater控件的分隔模板 控件的分隔模板 五、Repeater控件的页眉和页脚模板 控件的页眉和页脚模板

PageHelper插件实现一对多查询时的分页问题

PageHelper插件实现一对多查询时的分页问题
</resultMap>
<resultMap id="ResultMap" type="com.xx.oo.Activity" extends="BaseMap"> <collection property="templates" ofType="com.xx.oo.Template"> <id column="pt_id" property="id" jdbcType="INTEGER"/> <result column="pt_title" property="title" jdbcType="VARCHAR"/> </collection>
select id pt_id, title pt_title from t_activity_template where is_delete=0 and activity_id = #{id} order by sort_number desc </select> <select id="queryByPage" parameterType="com.xx.oo.ActivityPageRequest" resultMap="RichResultMap"> SELECT t.*,t1.real_name creator_name FROM t_activity t left join user t1 on er_id = t.creator <where>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<%@ Page Title="主页" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="三层增删改查._Default" %>
</tr>
</ItemTemplate>
<%--AlternatingItemTemplate描述交替输出行的另一种外观--%>
<AlternatingItemTemplate>
<tr bgcolor="#e8e8e8">
<td><asp:CheckBox ID="chkItem" runat="server" /></td>
<td><%# DataBinder.Eval(Container.DataItem, "Content")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "Author")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "Source")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "Source")%></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<td style="background-color:#cccccc; font-weight:bold; height:25px;">
<a href="add.aspx">添加</a><%--<input id="chkAll" name="chkAll" runat="server" type="checkbox" onclick="Check(this,'chkItem')" title="全选" />全--%></td>
<%--SeparatorTemplate描述一个介于每条记录之间的分隔符--%>
<%--<SeparatorTemplate>
<tr>
<td colspan="5"><hr /></td>
</tr>
</SeparatorTemplate>--%>
<td style="background-color:#cccccc; font-weight:bold;">Title</td>
<td style="background-color:#cccccc; font-weight:bold;">Content</td>
<td><asp:Label ID="lblID" Text='<%# DataBinder.Eval(Container.DataItem, "ID")%>' runat="server"></asp:Label></td>
<td><%# DataBinder.Eval(Container.DataItem, "Title")%></td>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<HeaderTemplate>
<table border="1" cellpadding="0" cellspacing="0" style="width:100%;border-collapse:collapse; text-align:center;">
<tr>
<td style="background-color:#cccccc; font-weight:bold; height:25px;">操作</td>
<td style="background-color:#cccccc; font-weight:bold; height:25px;">ID</td>
<td><a href='<%# "edit.aspx?id="+DataBinder.Eval(Container.DataItem, "ID") %>' target="_blank">编辑</a></td>
<td><asp:Label ID="lblID" Text='<%# DataBinder.Eval(Container.DataItem, "ID")%>' runat="server"></asp:Label></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:CheckBox ID="chkItem" runat="server" /></td>
<td><a href='<%# "edit.aspx?id="+DataBinder.Eval(Container.DataItem, "ID") %>' target="_blank">编辑</a>on IsCheckBox(chk) {
if (chk.type == 'checkbox') return true;
else return false;
}
</script>
<asp:Repeater ID="Repeater1" runat="server">
</asp:Repeater>
<div style="background-color:#dedede; width:100%;">
<asp:Button ID="btnDel" runat="server" Text="删除" OnClick="btnDel_Click" />
<asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink>
<asp:HyperLink id="lnkEnd" runat="server">尾页</asp:HyperLink>
</div>
</asp:Content>
<asp:label ID="lblCurrentPage" runat="server"></asp:label>
<asp:HyperLink id="lnkFrist" runat="server">首页</asp:HyperLink>
<asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink>
<td style="background-color:#cccccc; font-weight:bold;">Author</td>
<td style="background-color:#cccccc; font-weight:bold;">Source</td>
相关文档
最新文档