Dicas .NET - Criando Custom Controls não visuais
Veja nesta dica como criar controles não visual, uma nova proposta do .NET 2.0.
Criando Custom Controls não visuais
As páginas web no .NET 2.0 não tem mais suporte completo a Components. Você até pode, clicando com o botão direito e selecionando View Component Designer, inserir Components na página, mas seus componentes não conseguem, por exemplo, ter acesso aos WebControls da página. Afinal, o que aparece no ComponentDesigner está inserido dentro da classe do code behind, enquanto que os WebControls não são mais declarados em code behind.
O que a MS deseja é que passemos a trabalhar com custom controls não visuais, que gerem tags de configuração, como acontece com DataSources, por exemplo.
Mas como fazer um controle não visual? Simples: Precisamos criar um controlDesigner que faça a geração do bloco cinza como acontece com o DataSource.
O processo é bem simples, veja:
Imports System.ComponentModel
<Designer(GetType(qualquerDesigner))>
Public Class qualquer
Inherits System.Web.UI.Control
End Class
Public Class qualquerDesigner
Inherits System.Web.UI.Design.ControlDesigner
Public Overrides Function GetDesignTimeHtml() As String
Return (Me.CreatePlaceHolderDesignTimeHtml())
End Function
End Class
Pronto, Qualquer é um controle não visual, qualquerDesigner é o designer que garante a aparência dele em design time (o bloco cinza). Quando ligamos um designer em um custom control o design visual passa a ser determinado pelo getDesignTimeHTML do designer.
O método CreatePlaceHolderDesignTimeHTML gera o HTML para gerar o bloco cinza típico dos DataSources.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo