2008-10-24 17 views
9

Tengo una serie de controles personalizados para los que estoy tratando de habilitar el soporte de diseñador. La firma se ve algo como lo siguiente:Cómo definir "TagPrefix" predeterminado para controles personalizados

[ToolboxData("<{0}:MyDropDownList runat=\"server\" CustomProp="123"></{0}:MyDropDownList>")] 
public class MyDropDownList: DropDownList 
{ 
    ... code here 
} 

Esto funciona bien, pero cuando me arrastre un control sobre la página de la caja de herramientas, el TagPrefix que se agrega es "CC1":

<%@ Register Assembly="DBMClientPortal.Controls" Namespace="DBMClientPortal.Controls" 
    TagPrefix="cc1" %> 

Obviamente es algo irrelevante lo que es TagPrefix ... funciona tal como está, pero pensé que debía ser capaz de cambiar de alguna manera y la curiosidad pudo más que yo ...

Alguien sabe cómo definir lo el TagPrefix wi ¿Se configurará al arrastrar un control personalizado a una página en Visual Studio?

Gracias, Max

Respuesta

6

Se ve algo como esto:

[assembly:TagPrefix("MyControls","RequiredTextBox")] 

y here's algo más de información al respecto.

+0

Pero cuando agregamos [ensamblado: TagPrefix ("MyControls", "RequiredTextBox")] este control no se puede agregar a la caja de herramientas. Error: no hay componentes en DLL que se puedan colocar en la caja de herramientas – Elshan

1

FYI, el atributo TagPrefix es solo una sugerencia para Visual Studio y otras herramientas de diseño. Si el usuario ya tiene su espacio de nombre registrado en un prefijo de etiqueta diferente, entonces es libre de usar ese prefijo de etiqueta. Además, si su prefijo de etiqueta sugerido ya está en uso y apunta a un espacio de nombre diferente, Visual Studio usará en su lugar un prefijo de etiqueta generado automáticamente.

Sin embargo, las probabilidades de que ocurra una de estas dos cosas son bastante pequeñas si elige un prefijo de etiqueta basado en el nombre de su producto o empresa.

Cuestiones relacionadas