私のコードビハインドファイルから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'。名前を読んで、それをすべて言う。 –
ありがとう!私は次回そのことを念頭に置いておきます! –