repeater控件(asp.net中怎样获取repeater中的数据)
本文目录
- asp.net中怎样获取repeater中的数据
- C#WebForm中的repeater控件问题
- ASP.NET 我在后台为Repeater绑定数据源,如何同时获得Repeater中的控件
- 急!!asp.net的repeater控件里怎么循环
- DataList、GridView、Repeater三个控件各有什么优势
- 关于repeater 嵌套、如何获得里面的repeater 中的控件
- c# asp.net 里面的Repeater控件绑定数据具体怎么用啊
- 使用嵌套的Repeater控件显示分级数据
- 如何获取repeater控件中的数据
- C#怎么实现用JS控制Repeater里的控件显示与否
asp.net中怎样获取repeater中的数据
asp.net中获取repeater中的数据的方法是使用DataBinder.Eval循环获取。Repeater 控件用于显示重复的项目列表,这些项目被限制在该控件。Repeater 控件可被绑定到数据库表、XML 文件或者其他项目列表。以下的完整的读取Repeater的值的方法:《%@ Import Namespace="System.Data" %》《%@ Import Namespace="System.Data.SqlClient" %》《html》《script language="C#" runat="server"》 void Page_Load(Object sender, EventArgs e) { // 创建连接到pubs数据库 // 访问本地的数据库 SqlConnection myConnection = new SqlConnection("server=localhost;" + "database=pubs;Trusted_Connection=Yes"); // 使用select语句查询title表中的所有记录 SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * FROM" + " Titles", myConnection); // 创建并且填充结果集 DataSet ds = new DataSet(); myCommand.Fill(ds); // 绑定数据到MyRepeater MyRepeater.DataSource = ds; MyRepeater.DataBind(); }《/script》《%-- 循环读取 MyRepeater中的数据--%》《body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"》 《ASP:Repeater id="MyRepeater" runat="server"》 《HeaderTemplate》 《Table width="100%" style="font: 8pt verdana"》 《tr style="background-color:DFA894"》 《th》 Title 《/th》 《th》 Title ID 《/th》 《th》 Type 《/th》 《th》 Publisher ID 《/th》 《th》 Price 《/th》 《/tr》 《/HeaderTemplate》 《ItemTemplate》 《tr style="background-color:FFECD8"》 《td》 《%# DataBinder.Eval(Container.DataItem, "title") %》 《/td》 《td》 《%# DataBinder.Eval(Container.DataItem,"title_id") %》 《/td》 《td》 《%# DataBinder.Eval(Container.DataItem, "type") %》 《/td》 《td》 《%# DataBinder.Eval(Container.DataItem, "pub_id") %》 《/td》 《td》 《%# DataBinder.Eval(Container.DataItem, "price", "{0:c}") %》 《/td》 《/tr》 《/ItemTemplate》 《FooterTemplate》 《/Table》 《/FooterTemplate》 《/ASP:Repeater》《/body》《/html》
C#WebForm中的repeater控件问题
是用的数据库吗?先获取第一个repeater控件选择的值,然后第二repeater从数据库select通过where加上某个字段等于第一个repeater的选择的值。不然,可以把代码贴出来?
ASP.NET 我在后台为Repeater绑定数据源,如何同时获得Repeater中的控件
只能在Repeater的ItemDataBound事件中,用FindControl方法获取,然后重新绑定,在其它地方用FindControl方法不行的。比如在事件中可以这样写 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Button btn = (Button)e.Item.FindControl("btnDetail"); int i = Convert.ToInt32(btn.CommandArgument.ToString()); List《Model.NewsBodyInfo》 listBody = new List《NewsBodyInfo》(); listBody = bllNews.historyMessagesByNewsID(i); Repeater rep = (Repeater)e.Item.FindControl("Repeaters"); rep.DataSource = listBody; rep.DataBind(); }
急!!asp.net的repeater控件里怎么循环
我举一个实例吧:比如我《table》《tr》《td》中国《/td》》《td》中国《/td》《/tr》《/table》就是把共同的部份抽出来《td》中国《/td》《table》《tr》 《asp:Repeater ID="Repeater1" runat="server"》 《ItemTemplate 》《td》《%#Eval(绑定数据 )%》《/td》《/ItemTemplate》 《/ItemTemplate》 《/asp:Repeater》 《/tr》 《/table》
DataList、GridView、Repeater三个控件各有什么优势
griview优点:功能最强大,提供分页,,删除,选择等等很多功能,使用最方便,直接拖拽到页面上,建立新的数据源,点几下鼠标就可以维护一个表的浏览、删除和修改了,而且是支持分页。但是如果模板已经定制好,想自己灵活控制,不太容易。 缺点:占用系统资源大,他的分页是把整个表的数据取出来,到gridview上分页的,因此如果数据量比较大的时候,速度非常非常慢。效率极低。 repeater优点:功能简单,效率高,容易灵活控制生成的HTML代码,分页需要自己实现,整体来说,如果用习惯repeater就会喜欢上,适合前台使用。 Datalist优点:处于他们俩之间,比较好控制样式,没有自带的分页,等。全部需要自己手写。
关于repeater 嵌套、如何获得里面的repeater 中的控件
可以用Items属性来遍历行并用FindControl进行寻找,如下所示:在Repeater的Item Command事件下下遍历: for(int i=0;i《repeater1.Items.Count;i++) { CheckBox cb=(CheckBox )repeater1.Items.FindControl("CheckBox1"); if(cb.Checked) { //相关数据处理 } }但是,如果在HeaderTemplate和FooterTemplate模板中的控件就无能为力了,此时我们只能用Controls属性来解决问题。假设页面中有如下一个Repeater控件:程序代码《HeaderTemplate》 《asp:Label ID="Label1" runat="server" Text="AAAAAAA"》《/asp:Label》《/HeaderTemplate》《ItemTemplate》 《asp:Label ID="Label2" runat="server" Text=’《%# Eval("name") %》’》《/asp:Label》《/ItemTemplate》《FooterTemplate》 《asp:Label ID="Label3" runat="server" Text="BBBBBBB"》《/asp:Label》《/FooterTemplate》《/asp:Repeater》下边代码示例寻找Label1和Label3:程序代码如何在Repeater的HeaderTemplate和FooterTemplate模板中寻找控件?在Repeater的ItemTemplate模板中的控件,我们可以用Items属性来遍历行并用FindControl进行寻找,如下所示:在Repeater的Item Command事件下下遍历: for(int i=0;i《repeater1.Items.Count;i++) { CheckBox cb=(CheckBox )repeater1.Items.FindControl("CheckBox1"); if(cb.Checked) { //相关数据处理 } }但是,如果在HeaderTemplate和FooterTemplate模板中的控件就无能为力了,此时我们只能用Controls属性来解决问题。假设页面中有如下一个Repeater控件:程序代码《HeaderTemplate》 《asp:Label ID="Label1" runat="server" Text="AAAAAAA"》《/asp:Label》《/HeaderTemplate》《ItemTemplate》 《asp:Label ID="Label2" runat="server" Text=’《%# Eval("name") %》’》《/asp:Label》《/ItemTemplate》《FooterTemplate》 《asp:Label ID="Label3" runat="server" Text="BBBBBBB"》《/asp:Label》《/FooterTemplate》《/asp:Repeater》下边代码示例寻找Label1和Label3:程序代码//在HeaderTemplate中寻找Label1,默认为第0个string s=((Label)Repeater1.Controls.FindControl("Label2")).Text;
c# asp.net 里面的Repeater控件绑定数据具体怎么用啊
Repeater 跟其他绑定控件类似,比如DataList 但是不能像那些控件一样可视模板。而必须在前台代码页内模板。在代码《Repeater》《/Repeater》 中输入《会自动提示常用的就是HeaderTemplate设置标题模板,ItemTemplate 设置内容模板。下面是我的一个例子。《asp:Repeater ID="Repeater4" runat="server"》 《ItemTemplate》 《table width="692" height="159" border="0" cellpadding="0" cellspacing="0"》 《tr》 《td 》《/td》 《/tr》 《tr》 《/table》 《/ItemTemplate》《/asp:Repeater》 至于后台绑定数据跟其他都是一样的了。
使用嵌套的Repeater控件显示分级数据
一 简介
本文描述如何使用嵌套的Repeater 控件来显示分级数据 当然了 你也可以将这一技术应用到其他的列表绑定控件上去 比如DataGrid包含DataGrid DataList包含DataList等等的组合
二 绑定到父表
添加一个新的Web Form 到应用程序项目中 名称为Nestedrepeater aspx 从工具箱托动一个Repeater 控件到这个页面上 设定其ID 属性为 parent 切换到HTML 视图 选中下列<itemtemplate> 代码 复制到Repeater 控件对应的位置 注意 粘贴的时候请使用 粘贴为 功能 这些语句包含了数据绑定语法 很简单
<itemtemplate><b><%# DataBinder Eval(Container DataItem au_id ) %></b><br></itemtemplate>
打开Nestedrepeater aspx cs 这个代码分离文件 降下列代码添加到Page_Load 事件中 其作用是建立一个到 Pubs (这个数据库是sql server的演示数据库 另外在安装 net framework sdk的时候也会安装这个数据库)数据库的连接 并绑定Authors 表到Repeater 控件
public void Page_Load(){ SqlConnection cnn = new SqlConnection( server=(local);database=pubs;uid=sa;pwd=; ); SqlDataAdapter cmd = new SqlDataAdapter( select * from authors cnn); DataSet ds = new DataSet(); cmd Fill(ds authors );
//这里将要插入子表的数据绑定
parent DataSource = ds Tables; Page DataBind(); cnn Close();}
在文件的头部添加下面的名称空间 using System Data SqlClient; 根据你自己的情况修改一下连接字符串 保存并编译应用程序 在浏览器中打开这个页面 输出结果类似于下面的格式
三 绑定到子表
在页面的HTML视图中 添加下列代码 其目的是增加子Repeater 控件到父Repeater的项目模板中 形成嵌套
<asp:repeater id= child runat= server ><itemtemplate><%# DataBinder Eval(Container DataItem ) %><br></itemtemplate></asp:repeater>
设置子Repeater 控件的DataSource 属性:
<asp:repeater datasource= <%# ((DataRowView)Container DataItem) Row GetChildRows( myrelation ) %> >
在页面顶部添加下列指令(请注意 是在 aspx文件中):
<%@ Import Namespace= System Data %>
在 cs文件中 将Page_Load中的注释部分(//这里将要插入子表的数据绑定)替换成下列代码:
SqlDataAdapter cmd = new SqlDataAdapter( select * from titleauthor cnn);cmd Fill(ds titles );ds Relations Add( myrelation ds Tables);
保存并编译应用程序 在浏览器中察看修改后的页面 显示格式类似于下面的格式:
PS BU BU PC BU TC
四 完整的代码
Nestedrepeater aspx <%@ Page Language=C# Inherits= yourprojectname nestedrepeater %><%@ Import Namespace= System Data %>
<><body><form runat=server>
<! start parent repeater ><asp:repeater id= parent runat= server > <itemtemplate> <b><%# DataBinder Eval(Container DataItem au_id ) %></b><br>
<! start child repeater > <asp:repeater id= child datasource= <%# ((DataRowView)Container DataItem) Row GetChildRows( myrelation ) %> runat= server > <itemtemplate> <%# DataBinder Eval(Container DataItem )%><br> </itemtemplate> </asp:repeater> <! end child repeater >
</itemtemplate></asp:repeater><! end parent repeater >
</form></body></>Nestedrepeater aspx cs using System;using System Data;using System Data SqlClient;using System Web;using System Web SessionState;using System Web UI;using System Web UI WebControls;
namespace yourprojectname{ public class nestedrepeater : System Web UI Page { protected System Web UI WebControls Repeater parent; public nestedrepeater() { Page Init += new System EventHandler(Page_Init); } public void Page_Load(object sender EventArgs e) { //Create the connection and DataAdapter for the Authors table SqlConnection cnn = new SqlConnection( server=(local);database=pubs;uid=sa;pwd=; ); SqlDataAdapter cmd = new SqlDataAdapter( select * from authors cnn);
//Create and fill the DataSet DataSet ds = new DataSet(); cmd Fill(ds authors );
//Create a second DataAdapter for the Titles table SqlDataAdapter cmd = new SqlDataAdapter( select * from titleauthor cnn); cmd Fill(ds titles );
//Create the relation beween the Authors and Titles tables ds Relations Add( myrelation ds Tables);
//Bind the Authors table to the parent Repeater control and call DataBind parent DataSource = ds Tables; Page DataBind();
lishixinzhi/Article/program/net/201311/15734
如何获取repeater控件中的数据
1.设置你的按钮的CommandArgument和CommandName属性。2.为你的repeater绑定ItemCommand事件3.在ItemCommand事件处理程序里通过e.Item.DataItem就可以得到绑定到这一行上的数据实体了(这里的e是事件处理方法的第二个参数名字)。PS:你确定你是Repeater么,我怎么觉得是DataList呢?不过如果是DataList的话思路也基本一样。
C#怎么实现用JS控制Repeater里的控件显示与否
这个问题嘛!你用这个JavaScript代码假如你的Repeater的ID为replay给ID加个属性style="display:none;"然后在点击的事件是添加这个代码:vargetId=document.getElementById(’replay’);getId.style.display=(getId.style.display==’none’)?’block’:’none’;这样就可以了!!
更多文章:
联想移动硬盘f310(联想移动硬盘F310怎么插到电脑上找不到)
2024年7月20日 07:36
thinkpad x1 carbon 2019 lte(ThinkPad X1 Carbon 2019 LTE版)
2024年7月9日 04:20