wie findet die Kontrolle im ItemTemplate der ListView von CodeBehind des usercontrol-Seite?
eigentlich bin ich der Entwicklung einer web-Vorlage mit ASP.NET und C#.
ich habe eine listview
im usercontrol
Seite und innerhalb der ItemTemplate
ich habe eine PlaceHolder
wie folgt:
<asp:PlaceHolder ID="ph_Lv_EditModule" runat="server"> </asp:PlaceHolder>
möchte ich den Zugang zu dieser PlaceHolder
von code-behind und ich haben eine andere Methode als unten, aber ich konnte nicht darauf zugreifen.
PlaceHolder ph_Lv_EditModule = (PlaceHolder)lv_Uc_Module.FindControl("ph_Lv_EditModule");
oder
PlaceHolder ph_Lv_EditModule = (PlaceHolder)this.lv_Uc_Module.FindControl("ph_Lv_EditModule");
könnten Sie mir bitte helfen, wie zu finden, diese Kontrolle auf den code, der hinter meiner usercontrol
Seite.
schätzen Ihre Aufmerksamkeit.
InformationsquelleAutor F Sh | 2012-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen
ListView
enthält in der Regel mehr als ein Element, daher die NamingContainer(gesuchtFindControl
) Ihre Platzhalter ist weder das UserControl noch die ListView selbst. Es ist die ListViewItem Objekt. So einen Ort zu finden, der Verweis ist die ListView ItemDataBound-Ereignis.Wenn Sie die Referenz woanders, müssen Sie Durchlaufen die Elemente des ListView-Steuerelements und verwenden Sie dann
FindControl
auf dieListViewItem
.Übrigens, dies ist das selbe Verhalten wie in anderen Datengebundenen Steuerelementen wie GridView oder Repeater.
InformationsquelleAutor Rango
Als Tim Schmelter erwähnt, können Sie auch Zugriff auf Ihre Steuerung durch Durchlaufen Ihre
ListView
wie folgtInformationsquelleAutor Stacked