2009-03-16 2 views
1

Ich bin ein neues Gremium zu schaffen ..hinzufügen Custom Control in Asp.net

public class LicensingPanel : Panel 
{ 
    private LinkButton licenseButton; 
    ... 
} 

Ich bin dann in den Code meiner Kontrollen der Controls-Eigenschaft hinzugefügt, von denen ein Linkbutton ist.

Was ich möchte in der Lage sein, auf meiner Seite Code-behind zu tun, ist die folgende ..

protected override void CreateChildControls() 
{ 
    Controls.Add(new LicensingPanel(this)); 

    base.CreateChildControls(); 
} 

Aber ich bin immer diese Fehlermeldung:

Control ‚ctl03‘ vom Typ ‚Linkbutton‘ muss in einem Formular-Tag mit runat = server platziert werden. at System.Web.UI.Page.VerifyRenderingInServerForm (Steuerelement Steuerelement)

Die Seite ist eine SharePoint-Seite mit einer Masterseite, es hat ein Formular-Tag mit runat = Server.

Jede Hilfe wird sehr erhalten!

Mit besten Grüßen,

Phill

Antwort

4

Jede Seite mit einem Masterpage, ob es in Sharepoint ist oder nicht, ist ein Content Seite. Diese Seiten unterstützen nur Inhalte, die in Inhaltssteuerelementen enthalten sind. Der Versuch, ein HTML-Tag oder ein ASP.NET-Steuerelement direkt zur Seite hinzuzufügen, wird nicht unterstützt.

0

Wo auf der Seite ist die Steuerung Ihres Typs LicensingPanel? Dieses Steuerelement muss innerhalb des Formular-Tags sein.

0

Ich denke, Sie sollten uns ein wenig mehr darüber erzählen, was Sie mit Ihrem Code archivieren möchten. Wo möchten Sie Ihr Steuerelement hinzufügen?

0

Ich denke, dass Sie einige Schritte ausführen müssen, bevor Sie eine gewisse Kontrolle in einer MOSS 2007-Umgebung verwenden können:

  1. Sie müssen Ihre benutzerdefinierten Steuerelemente DLL als sicher registrieren.
  2. Sie müssen Ihr benutzerdefiniertes Steuerelement auf der Masterseite registrieren, damit der Server das Tag erkennt.

FÜR DLL: <% @ Register TagPrefix = "customcontrolname" Namespace = "MyCustomControl" Assembly = "MyCustomControl, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 123456789abcdefg" %>

FÜR ASCX : <% @ Register Src = "~/Kontrollen/MyCustomControl.ascx" TagName = "MyCustomControl" TagPrefix = "customcontrolname"%>

+0

Hallo Emilio, Danke, ich bin mir der Anforderungen für SP und Kontrollen bewusst. Ich dachte, ich könnte meine eigenen Steuerelemente dynamisch hinzufügen, was laut Rob unten nicht möglich ist. Grüße Phill –