2009-04-06 18 views
1

Ich benutze ein asp.net-Webanwendungsprojekt, und ich kann nicht auf asp: Inhaltssteuerelemente programmatisch zugreifen. Ich versuche, seine ContentPlaceholderID im Code zu aktualisieren. Ist das möglich?Set asp: Inhalt programmgesteuert

Dank

+0

Möchten Sie den Inhalt des Platzhalters ändern oder die ID des Platzhalters ändern? – tvanfosson

+0

Ich versuche, den Wert der ContentPlaceholderID -Eigenschaft auf das Content-Steuerelement von einem web.config appsetting – Shawn

Antwort

0

No Sie können die ContentPlaceHolderID in Ihrem Content-Seite nicht ändern. Der Grund dafür ist, dass der contentplaceholder auf der Masterseite festgelegt wird und Sie dann darin referenzieren, um zu sagen, in welchen contentplaceholder Ihr Inhalt gehen soll.

Die Inhaltssteuerelemente werden zurückgelassen und sind in der Steuerhierarchie nicht vorhanden. Diese ASP.net thread hier gibt eine Art und Weise, wie Sie es eine andere Art und Weise aktualisieren, obwohl

+0

Was Sie eigentlich tun, weil ein Web-Steuerelement in asp.net für jede Kontrolle aufrufen, ist es das gleiche – TStamper

+0

im Versuch zu setzen Legen Sie den Wert der Eigenschaft contentplaceholderID für das Inhaltssteuerelement über eine web.config-Appsetting fest. – Shawn

+0

der Code, den Sie gepostet nicht funktioniert – Shawn

3

Obwohl Sie wahrscheinlich ContentPlaceHolderID Ihre asp nicht ändern können: Inhalte, können Sie den Inhalt des Contentplaceholders direkt steuern können: Zugriff auf die Masterseite von der Seite durch seine Master-Eigenschaft und verwenden Sie dann die FindControl-Funktion, um den ContentPlaceHolder auf der Masterseite zu finden. Bearbeiten Sie anschließend den Inhalt über die Eigenschaft Controls.

var masterContent = Master.FindControl("largeContent") as ContentPlaceHolder; 
masterContent.Controls.Add(new Literal { Text = "Hello, world!" }); 

Sie könnten wahrscheinlich verwenden diese ‚hacken‘ ein Asp hinzuzufügen: Panel-Steuerelement zu jedem Content Sie so dies wünschen könnte die Funktionalität, die Sie wollten emulieren.

Verwandte Themen