Ce qui est embarrassant, c'est qu'avant les vacances de la Fête du Printemps, j'ai écrit un morceau de code, je ne sais pas pourquoi, ASPX peut charger le code dans ASCX.cs, mais je ne peux pas charger le fichier source dans ASCX. vers le bas, je ne peux pas. Après avoir résolu ce problème, je suis revenu au travail aujourd'hui et j'ai découvert que le problème était dû à une écriture incorrecte de la commande @Register d'ASPX.
La manière correcte doit être écrite comme suit :
<%@ Register TagPrefix="myTagPrefix" TagName="ConfigNavigation" Src="/Controls/ConfigNavigation.ascx" %> Mais je l'ai écrit comme suit :
<%@ Register TagPrefix="myTagPrefix" Namespace="MyWEB.Controls" Assembly="MyWebProject" %>Cette dernière façon d'écrire ne chargera que la classe correspondant au fichier cs, mais pas le contenu en ascx, apparaissant ainsi Le problème J'ai rencontré ici.
Ce qui suit est un résumé de plusieurs façons d'écrire la commande @Register, compilée en référence à http://msdn.microsoft.com/zh-cn/library/c76dd5k1.aspx de MSDN :
<%@ Register tagprefix="tagprefix" namespace="namespace" assembly="assembly" %>
<%@ Registre tagprefix="tagprefix" namespace="namespace" %>
<%@ Register tagprefix="tagprefix" tagname="tagname" src="pathname" %>Chaque attribut est décrit comme suit :
préfixe de balise
Un alias arbitraire qui fournit une courte référence à l'espace de noms de la balise utilisée dans le fichier contenant la directive.
espace de noms Espace de noms du contrôle personnalisé en cours d’enregistrement.
tagname Tout alias associé à la classe. Cette propriété n'est utilisée que pour les contrôles utilisateur.
assembly L'assembly qui réside dans l'espace de noms associé à l'attribut tagprefix.
Le nom de l'assembly ne peut pas inclure l'extension de fichier. Notez également que si l'attribut assembly est manquant, l'analyseur ASP.NET suppose que le code source existe dans le dossier App_Code de l'application. Si vous souhaitez enregistrer le code source du contrôle sur la page sans le compiler, placez le code source dans le dossier App_Code. ASP.NET compile dynamiquement les fichiers sources dans le dossier App_Code au moment de l'exécution.
Emplacement (relatif ou absolu) du fichier de contrôle utilisateur déclaratif ASP.NET associé à src et à la paire tagprefix:tagname.
La valeur de l'attribut src peut être un chemin relatif ou un chemin absolu depuis le répertoire racine de l'application vers le fichier source de contrôle utilisateur. Pour faciliter l'utilisation, il est recommandé d'utiliser des chemins relatifs. Par exemple, supposons que tous les fichiers de contrôle utilisateur de votre application soient stockés dans le sous-répertoire Usercontrol du répertoire racine de l'application. Pour inclure le contrôle utilisateur dans le fichier Usercontrol1.ascx, incluez ce qui suit dans la directive @Register :
Src="~usercontrolusercontrol1.ascx" Le caractère tilde (~) représente le répertoire racine de l'application