的時候我有一個不同的表現較同業一個asp.net頁面,我似乎無法找出原因。ASP:文字不範疇內放置的ItemTemplate直放站
可悲的是我不能發佈有很多出於商業原因的代碼,我知道,這將限制用戶的協助能力。
我有一個網頁,我有一個隱藏的和一個複選框和其他不重要的事情。
喜歡的東西:
<asp:Repeater id="GoodRepeater" runat="server" OnItemDataBound="GoodRepeater_OnItemDataBound">
<ItemTemplate>
<asp:Literal id="litHappyLiteral" runat="server" />
<!-- Other junk that doesn't matter -->
</ItemTemplate>
</asp:Repeater>
在另一頁但是,我也有同樣的設置,但由於某種原因,每當我把一個ItemTemplate模板裏,它丟棄了我的背景,並可以不再到達代碼隱藏。例如:
<asp:Repeater id="RepeaterThatMakesMeSad" runat="server" OnItemDataBound="RepeaterThatMakesMeSad_OnItemDataBound">
<ItemTemplate>
<asp:Literal id="litSadLiteral" runat="server" />
<!-- Other junk that doesn't matter -->
</ItemTemplate>
</asp:Repeater>
在第一頁上,litHappyLiteral是由代碼背後的可到達,但在另外一個litSadLiteral不是。
任何想法? 使用asp.net 3.5。
這裏有儘可能多的我隱藏的,因爲我可以分享:
protected void RepeaterThatMakesMeSad_OnItemDataBound(object sender, RepeaterItemEventArgs e) {
// Logging junk
// Guard clauses
try {
XmlNode myItem = (e.Item.DataItem as XmlNode);
if(myItem != null) {
litSadLiteral.Text = "SADNESS.";
} // End if
} // end try
} // method
在這些條件下,「litSadLiteral」並不在當前的背景下存在。
我想通了,我在做什麼錯了(見下文回答),但如果有人仍然願意解釋爲什麼文字滴出來的可達範圍內的,只要它被放置的一個ItemTemplate的範圍內一個直放站,我會很感激。
你能分享你的代碼嗎? – shana
RepeaterThatMakesMeSad是否可訪問?你在使用母版嗎? –
RepeaterThatMakesMeSad是否可訪問? - 是的。 使用母版頁? - 是的。 –