很长时间没做bs的项目了
有这么一个问题
在页面中有个table,table中的某一个tr的td内加了一个repeater控件
如以下代码(部分)
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td bgcolor="#FFFFFF" style="display:none;">
<%#Eval("ID")%>
</td>
<td bgcolor="#FFFFFF">
<%#Eval("Tittle")%>
</td>
<td bgcolor="#FFFFFF">
<%#Eval("Content")%>
</td>
<td bgcolor="#FFFFFF">
<%#Eval("Creator")%>
</td>
<td bgcolor="#FFFFFF">
<%#Eval("CreateDate")%>
</td>
<td bgcolor="#FFFFFF">
<asp:Literal ID="ltItem" runat="server"></asp:Literal>
<%-- <input id="show" type="button" value="查 看" onclick="ShowOnlineMessage(<%# Eval("ID") %>);" />
<input type="button" value="删 除" onclick="DeleteTzInfo(<%# Eval("ID") %>);" />--%>
</td>
</tr>
</ItemTemplate>
我现在想获得最后一列的这个Literal控件
在后台有下面的方法是获取不到的
foreach (RepeaterItem item in Repeater1.Items)
{
Literal ltItem = item.FindControl("ltItem") as Literal;//获取普通项中的Literal
}
请问有没有谁做过类似的东西 无论是用后台获得或者是前台获得后传到后台都可以
谢谢
没问题啊。。你绑定数据了没有。
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("test");
dt.Rows.Add("abc");
dt.Rows.Add("abc");
rp.DataSource = dt; rp.DataBind();
int count = rp.Items.Count;
if (count > 0)
{
for (int i = 0; i < count; i++)
{
Literal lt = rp.Items[i].FindControl("ltItem") as Literal;
Response.Write(lt.ClientID+"<BR>");
}
}
}
</script>
<table><tr><td><table>
<asp:Repeater ID="rp" runat="server">
<ItemTemplate>
<tr>
<td bgcolor="#FFFFFF">
<asp:Literal ID="ltItem" runat="server">aa</asp:Literal>
</td>
</tr>
</ItemTemplate></asp:Repeater></table></td></tr></table>
同楼上答案,应该是能获取到的。