我不知道爲什麼我不能訪問是小組裏我的標籤控制面板裏面DataList控件ASP.NET訪問Web控制
<asp:DataList ID="DataList2" runat="server" DataSourceID="SqlDataSource1" Width="100%"> <ItemTemplate> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <!-- post details --> <td style="width: 60%"> <asp:Panel ID="panelPostDetails" runat="server" CssClass="postpage_details"> <table border="0" cellpadding="5" cellspacing="0" width="100%"> <tr> <td colspan="2"><div class="postpage_header"><%# Eval("Heading") %></div></td> </tr> <tr> <td> <img src="picserver/posts/<%# Eval("ImagePath") %>/1.jpg" alt="preview" style="width: 240px;" /> <div id="morepictures"> <asp:Label ID="lblMorePictures" runat="server" /> </div> </td> <td> <div style="padding: 0px 5px 0px 5px;"> <div> more stuff here </div> </div> </td> </tr> </table> </asp:Panel> <asp:RoundedCornersExtender ID="RoundedCornersExtender1" runat="server" Radius="6" Corners="All" TargetControlID="panelPostDetails"></asp:RoundedCornersExtender> </td> </tr> </table> </ItemTemplate> </asp:DataList>
但是當我試圖使用「LBL」 Page_Load,它似乎無法找到控件?你能幫我麼?
ItemDataBound and Page_Load event --------------------------------- Panel p = DataList2.FindControl("panelPostDetails") as Panel; Label l = p.FindControl("lblMorePictures") as Label; l.Text = code;
該代碼返回未將對象引用設置爲對象的實例。
在此先感謝
更新:
ItemDataBound and Page_Load event --------------------------------- Panel p = DataList2.FindControl("panelPostDetails") as Panel; if(p==null) { System.Diagnostic.Debug.WriteLine("panel does not exist"); } else { System.Diagnostic.Debug.WriteLine("panel does exist"); } output: panel does not exist
這到底是什麼回事呢?!
panelPostDetails是否存在? ItemTemplate中的面板元素? – loviji 2010-09-02 11:27:08
發佈標記 - 可能是你錯過了明顯的東西。 – RPM1984 2010-09-02 11:28:26
@loviji - yes panelPostDetails存在,它在ItemTemplate中。 – jaysonragasa 2010-09-02 12:01:33