【发布时间】:2011-12-08 16:15:57
【问题描述】:
我正在尝试从我的代码隐藏文件中访问 asp 中继器中的 asp 标签。这是我到目前为止所做的:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="LinqDataSource1" OnItemDataBound="outerFunction">
<HeaderTemplate>
<h1>Questions And Answers</h1>
</HeaderTemplate>
<ItemTemplate>
<p style="background-color:Red; color:Yellow;"><%#Eval("QText") %> :::::::::</p>
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# setQID(Eval("QID"))%>' />
<asp:Label ID="pageLabel" runat="server" Text="Label"></asp:Label>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="LinqDataSource2">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<%# (GetAnswer(Eval("AnsQID"))) != 1 ? (displayAnswer(Eval("AText"))) : ""%>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
<span style="display:block; border-top:1px solid Gray;"></span>
</ItemTemplate>
</asp:Repeater>
*这是我的代码*
public void outerFunction(object sender, RepeaterItemEventArgs e)
{
Label myLabel = (Label) e.Item.FindControl("pageLabel");
myLabel.Text = "HELLO World";
}
我正在尝试显示问题和答案。每个问题都可以有多个答案。这就是为什么我将它放在嵌套的中继器控件中。现在我只需要知道我如何说例如在外部中继器中有一个“div”元素,并将我在内部中继器中获得的每个答案绑定到该父 div。
谢谢!
【问题讨论】:
-
这只是一个建议,但在我看来,将事件处理程序命名为
_ : Repeater1_ItemDataBound更容易代码可读性。读名字就说明了一切。 -
谢谢!下次我会记住这一点!