J'écris un contrôle composite personnalisé ASP.NET (Inherits System.Web.UI.WebControls.CompositeControl).Rien de la propriété TagKey()
Par défaut, ma marque de contrôle est entourée de balises. Je sais que je peux sur piloter la propriété TagKey pour définir le retour comme n'importe quelle balise que je veux de l'énumération System.Web.UI.HtmlTextWriterTag.
Ma question: Puis-je rendre mon contrôle rendu sans .NET en ajoutant un balisage autour de lui?
MISE À JOUR (3/2/2011) Merci Swati pour votre réponse. Je veux montrer comment je résous ma question maintenant. Je pense que je vais intégrer certaines des idées de Swati. Plus précisément, AddAttributestoRender(), mais je me demande si cela est nécessaire car CompositeControl manquera d'une balise de marquage parent pour contenir les attributs.
Lorsque je ne veux pas de balise de balise contenant, alors je remplace une propriété & deux méthodes de CompositeControl.
Protected Overrides ReadOnly Property TagKey() As System.Web.UI.HtmlTextWriterTag
Get
' System defaults return as HtmlTextWriterTag.Span
Return HtmlTextWriterTag.Unknown
End Get
End Property
Public Overrides Sub RenderBeginTag(ByVal writer As System.Web.UI.HtmlTextWriter)
If Me.TagKey <> HtmlTextWriterTag.Unknown Then
MyBase.RenderBeginTag(writer)
End If
End Sub
Public Overrides Sub RenderEndTag(ByVal writer As System.Web.UI.HtmlTextWriter)
If Me.TagKey <> HtmlTextWriterTag.Unknown Then
MyBase.RenderBeginTag(writer)
End If
End Sub
Le point à emporter: son travail contre la façon CompositeControl aime travailler Je dois dire grand MERCI codeulike d'avoir signalé AddAttributesToRender(). J'ai manqué ça. Cette pépite est super utile. Note aux autres écrivains - apprendre de ce poste. La réponse comprenait une aide précieuse et des liens de soutien! MERVEILLEUSEMENT utile – MADCookie