ASP.NET Zugriff auf web control innerhalb DataList-Steuerelement
Bin nicht sicher, warum ich kann nicht auf meine Label-Steuerelement, die innerhalb des Panel und der Panel ist innerhalb der DataList
<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("Bezeichnung") %></div></td> </tr> <tr> <td> <img src="picserver/posts/<%# Eval("Bildpfad") %>/1.jpg" alt="Vorschau" style="width: 240px;" /> <div id="morepictures"> <asp:Label ID="lblMorePictures" runat="server" /> </div> </td> <td> <div style="padding: 0px 5px 0px 5px;"> <div> mehr Sachen hier </div> </div> </td> </tr> </table> </asp:Panel - > <asp:RoundedCornersExtender ID="RoundedCornersExtender1" runat="server" Radius="6" Ecken="Alle" TargetControlID="panelPostDetails"></asp:RoundedCornersExtender> </td> </tr> </table> </ItemTemplate - > </asp:DataList>
aber wenn ich versucht, mit "lbl" in Page_Load, es scheint, dass es das Steuerelement nicht finden können? können Sie mir bitte helfen?
ItemDataBound-und Page_Load-Ereignis --------------------------------- Panel p = DataList2.FindControl("panelPostDetails") als Panel -; Label l = p.FindControl("lblMorePictures") als Label; l.Text = code;
code liefert der Objektverweis wurde nicht auf eine Instanz eines Objekts.
Vielen Dank im Voraus
update:
ItemDataBound-und Page_Load-Ereignis --------------------------------- Panel p = DataList2.FindControl("panelPostDetails") als Panel -; if(p==null) { System.Diagnose.Debug.WriteLine (""existiert nicht"); } sonst { System.Diagnose.Debug.WriteLine (""existiert"); } Ausgabe: panel existiert nicht
was auf der Erde Los ist!?!
panelPostDetails ist es Vorhanden? ist Panel-Element in der ItemTemplate?
post markup - Chancen sind Sie haben etwas verpasst, offensichtlich.
ja die panelPostDetails existiert und es ist in der ItemTemplate.
post markup - Chancen sind Sie haben etwas verpasst, offensichtlich.
ja die panelPostDetails existiert und es ist in der ItemTemplate.
InformationsquelleAutor jaysonragasa | 2010-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Regel haben Sie Zugriff auf Steuerelemente wie diese zur Laufzeit durch die Bearbeitung entweder die DataList ist ItemCreated oder ItemDataBound-Ereignis. Hier ein Beispiel für einen Ereignis-handler:
Draht bis Ihr die event-handler so:
Ich habe aktualisiert, der code entsprechend der Probe, die Sie gebucht.
sorry Peter, aber funktioniert immer noch nicht. Ich habe aktualisiert, der code wieder.
Sind Sie immer noch versuchen, dies zu tun in der Page_Load()? Wenn dem so ist, das wird nicht funktionieren. Sie müssen dies tun, in Ihrem DataLists das ItemDataBound-Ereignis.
NÖ. Ich habe versucht, das ItemDataBound-Ereignis.
InformationsquelleAutor Peter
@Peter ' s code arbeiten müssen.
können Sie auch versuchen, diese:
und setzen Haltepunkt auf der wath zu
st
. In meinem Fall habe ich einen text vonlblMorePictures
.InformationsquelleAutor loviji