我现在有两个 Repeater 嵌套,每一个Repeater都放着一个 CheckBox ,我父 Repeater 中CheckBox
<input type="checkbox" name="cb_<%# Container.ItemIndex + 1 %>" /> 会形如 name="cb_1" 或 name="cb_2"
我想在其子 Repeater 中 CheckBox 所对应的 name 为 name="cb_1_1" , name="cb_1_2" ,name="cb_1_2"
或 name="cb_2_1" ,name="cb_2_2" ,name="cb_2_3"请大侠指教一下.如果不用索引只要能实现类似的效果就行
<input type="checkbox" name="cb_<%# Container.ItemIndex + 1 %>" /> 会形如 name="cb_1" 或 name="cb_2"
我想在其子 Repeater 中 CheckBox 所对应的 name 为 name="cb_1_1" , name="cb_1_2" ,name="cb_1_2"
或 name="cb_2_1" ,name="cb_2_2" ,name="cb_2_3"请大侠指教一下.如果不用索引只要能实现类似的效果就行
解决方案 »
- DataBinding:“System.Data.DataRowView”不包含名为“JobName”的属性
- 急急asp.net 中如何将HTML和asp.net 页面之间传值的问题
- 移除字符
- ajax的问题~~~
- 将VewState保存在服务器端的具体做法
- 问个临时cookie方式登录验证后的问题
- 请问在ASP.NET中using System.Threading;这个和Timer,怎么弄啊?
- 再发关于dataReader数据绑定的问题!!!(郁闷中)
- 求个复杂点的验证码。但是要看用户看得清楚
- (fzymr) 连接oracle9.0的问题,请各位指教!(很急!)
- 页面特定区域刷新问题
- 生成静态文件的HTML整理
{
Repeater Repeater2 = (Repeater)Repeater1.Items[i].FindControl("Repeater2");
for (int j = 0; i < this.Repeater2.Items.Count; j++)
{
CheckBox CheckBox1 = (CheckBox)Repeater1.Items[j].FindControl("checkbox1");
}
}
<script runat="server"> protected Int32 parentId = 0;
protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");
System.Data.DataRow dr;
dataTable1.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32)));
dataTable1.Columns.Add(new System.Data.DataColumn("UserName", typeof(System.String)));
dataTable1.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["UserId"] };
for (int i = 0; i < 8; i++)
{
dr = dataTable1.NewRow();
dr[0] = i;
dr[1] = "【孟子E章】" + i.ToString();
dataTable1.Rows.Add(dr);
}
System.Data.DataTable dataTable2 = new System.Data.DataTable("BlogArticle");
dataTable2.Columns.Add(new System.Data.DataColumn("ArticleId", typeof(System.Int32)));
dataTable2.Columns.Add(new System.Data.DataColumn("Title", typeof(System.String)));
dataTable2.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32)));
dataTable2.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["ArticleId"] };
Random rd = new Random();
for (int i = 0; i < 20; i++)
{
dr = dataTable2.NewRow();
dr[0] = i;
dr[1] = "文章标题" + i.ToString();
dr[2] = rd.Next(0, 7);
dataTable2.Rows.Add(dr);
}
ds.Tables.Add(dataTable1);
ds.Tables.Add(dataTable2);
System.Data.DataColumn parentColumn = ds.Tables["BlogUser"].Columns["UserId"];
System.Data.DataColumn childColumn = ds.Tables["BlogArticle"].Columns["UserId"];
System.Data.DataRelation user_article = new System.Data.DataRelation("UserId", parentColumn, childColumn);
ds.Relations.Add(user_article);
this.parentRepeater.DataSource = ds.Tables["BlogUser"].DefaultView;
this.parentRepeater.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form id="form1" runat="server">
<!-- 父Repeater开始 -->
<asp:Repeater ID="parentRepeater" runat="server">
<ItemTemplate>
<b><%# parentId = Container.ItemIndex + 1%>
<input type="checkbox" name="cb_<%=parentId %>" />
<%# DataBinder.Eval(Container.DataItem, "UserName")%>
</b>
<ul>
<!-- 子Repeater开始 -->
<asp:Repeater ID="childRepeater" runat="server" DataSource='<%# ((System.Data.DataRowView)Container.DataItem).Row.GetChildRows("UserId") %>'>
<ItemTemplate>
<li>
<input type="checkbox" name="cb_<%=parentId %>_<%# Container.ItemIndex + 1 %>" />
<%# DataBinder.Eval(Container.DataItem, "[\"Title\"]")%></li>
</ItemTemplate>
</asp:Repeater>
</ul>
<!-- 子Repeater结束 -->
</ItemTemplate>
</asp:Repeater>
<!-- 父Repeater结束 -->
</form>
</body>
</html>
<%@ Page Language="C#" EnableViewState="false" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server"> protected Int32 parentId = 0;
protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");
System.Data.DataRow dr;
dataTable1.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32)));
dataTable1.Columns.Add(new System.Data.DataColumn("UserName", typeof(System.String)));
dataTable1.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["UserId"] };
for (int i = 0; i < 8; i++)
{
dr = dataTable1.NewRow();
dr[0] = i;
dr[1] = "【孟子E章】" + i.ToString();
dataTable1.Rows.Add(dr);
}
System.Data.DataTable dataTable2 = new System.Data.DataTable("BlogArticle");
dataTable2.Columns.Add(new System.Data.DataColumn("ArticleId", typeof(System.Int32)));
dataTable2.Columns.Add(new System.Data.DataColumn("Title", typeof(System.String)));
dataTable2.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32)));
dataTable2.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["ArticleId"] };
Random rd = new Random();
for (int i = 0; i < 20; i++)
{
dr = dataTable2.NewRow();
dr[0] = i;
dr[1] = "文章标题" + i.ToString();
dr[2] = rd.Next(0, 7);
dataTable2.Rows.Add(dr);
}
ds.Tables.Add(dataTable1);
ds.Tables.Add(dataTable2);
System.Data.DataColumn parentColumn = ds.Tables["BlogUser"].Columns["UserId"];
System.Data.DataColumn childColumn = ds.Tables["BlogArticle"].Columns["UserId"];
System.Data.DataRelation user_article = new System.Data.DataRelation("UserId", parentColumn, childColumn);
ds.Relations.Add(user_article);
this.parentRepeater.DataSource = ds.Tables["BlogUser"].DefaultView;
this.parentRepeater.DataBind();
} protected void parentRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
parentId = e.Item.ItemIndex + 1;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form id="form1" runat="server">
<!-- 父Repeater开始 -->
<asp:Repeater ID="parentRepeater" runat="server"
onitemdatabound="parentRepeater_ItemDataBound">
<ItemTemplate>
<b>
<input type="checkbox" name="cb_<%=parentId %>" />
<%# DataBinder.Eval(Container.DataItem, "UserName")%>
</b>
<ul>
<!-- 子Repeater开始 -->
<asp:Repeater ID="childRepeater" runat="server" DataSource='<%# ((System.Data.DataRowView)Container.DataItem).Row.GetChildRows("UserId") %>'>
<ItemTemplate>
<li>
<input type="checkbox" name="cb_<%=parentId %>_<%# Container.ItemIndex + 1 %>" />
<%# DataBinder.Eval(Container.DataItem, "[\"Title\"]")%></li>
</ItemTemplate>
</asp:Repeater>
</ul>
<!-- 子Repeater结束 -->
</ItemTemplate>
</asp:Repeater>
<!-- 父Repeater结束 -->
</form>
</body>
</html>
<input type="checkbox" name="cb_<%# ((RepeaterItem)Container.Parent.Parent).ItemIndex+1 %>_<%# Container.ItemIndex + 1 %>" />