Lo vergonzoso es que antes de las vacaciones del Festival de Primavera, escribí un fragmento de código, no sé por qué, ASPX puede cargar el código en ASCX.cs, pero no puedo cargar el archivo fuente en ASCX. abajo, no puedo Después de resolver este problema, volví a trabajar hoy y descubrí que el problema fue causado por escribir incorrectamente el comando @Register de ASPX.
La forma correcta debe escribirse de la siguiente manera:
<%@ Register TagPrefix="myTagPrefix" TagName="ConfigNavigation" Src="/Controls/ConfigNavigation.ascx" %> Pero lo escribí de la siguiente manera:
<%@ Register TagPrefix="myTagPrefix" Namespace="MyWEB.Controls" Assembly="MyWebProject" %>La última forma de escribir solo cargará la clase correspondiente al archivo cs, pero no el contenido en ascx, apareciendo así El problema Me encontré aquí.
El siguiente es un resumen de varias formas de escribir el comando @Register, compilado con referencia a http://msdn.microsoft.com/zh-cn/library/c76dd5k1.aspx de MSDN:
<%@ Registrar tagprefix="tagprefix" namespace="namespace" ensamblaje="ensamblaje" %>
<%@ Registrar tagprefix="tagprefix" namespace="namespace" %>
<%@ Register tagprefix="tagprefix" tagname="tagname" src="pathname" %>Cada atributo se describe a continuación:
prefijo de etiqueta
Un alias arbitrario que proporciona una breve referencia al espacio de nombres de la etiqueta utilizada en el archivo que contiene la directiva.
espacio de nombres El espacio de nombres del control personalizado que se está registrando.
nombre de etiqueta Cualquier alias asociado con la clase. Esta propiedad sólo se utiliza para controles de usuario.
ensamblado El ensamblado que reside en el espacio de nombres asociado con el atributo tagprefix.
El nombre del ensamblado no puede incluir la extensión del archivo. También tenga en cuenta que si falta el atributo de ensamblaje, el analizador ASP.NET supone que el código fuente existe en la carpeta App_Code de la aplicación. Si desea registrar el código fuente del control en la página sin compilarlo, coloque el código fuente en la carpeta App_Code. ASP.NET compila dinámicamente los archivos fuente en la carpeta App_Code en tiempo de ejecución.
La ubicación (relativa o absoluta) del archivo declarativo de control de usuario ASP.NET asociado con src y el par tagprefix:tagname.
El valor del atributo src puede ser una ruta relativa o absoluta desde el directorio raíz de la aplicación hasta el archivo fuente de control del usuario. Para facilitar su uso, se recomienda utilizar rutas relativas. Por ejemplo, supongamos que todos los archivos de control de usuario de su aplicación están almacenados en el subdirectorio Usercontrol del directorio raíz de la aplicación. Para incluir el control de usuario en el archivo Usercontrol1.ascx, incluya lo siguiente en la directiva @Register:
Src="~usercontrolusercontrol1.ascx" El carácter de tilde (~) representa el directorio raíz de la aplicación.