Смущает то, что перед праздником Весны я написал кусок кода, не знаю почему, ASPX может загрузить код в ASCX.cs, но не может загрузить исходный файл в ASCX. Потому что я не могу успокоиться. вниз, я не могу. После решения этой проблемы я вернулся сегодня на работу и обнаружил, что проблема была вызвана неправильным написанием команды @Register ASPX.
Правильный путь должен быть записан следующим образом:
<%@ Register TagPrefix="myTagPrefix" TagName="ConfigNavigation" Src="/Controls/ConfigNavigation.ascx" %> Но я написал так:
<%@ Register TagPrefix="myTagPrefix" Namespace="MyWEB.Controls" Assembly="MyWebProject" %>Последний способ записи будет загружать только класс, соответствующий файлу cs, но не содержимое в ascx, таким образом возникает проблема. Я столкнулся здесь.
Ниже приводится краткое описание нескольких способов написания команды @Register, скомпилированное со ссылкой на http://msdn.microsoft.com/zh-cn/library/c76dd5k1.aspx MSDN:
<%@ Зарегистрировать tagprefix="tagprefix" namespace="namespace" Assembly="assembly" %>
<%@ Регистрация tagprefix="tagprefix" namespace="namespace" %>
<%@ Register tagprefix="tagprefix" tagname="tagname" src="pathname" %>Каждый атрибут описывается следующим образом:
префикс тега
Произвольный псевдоним, предоставляющий краткую ссылку на пространство имен тега, используемого в файле, содержащем директиву.
namespace Пространство имен регистрируемого пользовательского элемента управления.
tagname Любой псевдоним, связанный с классом. Это свойство используется только для пользовательских элементов управления.
сборка Сборка, находящаяся в пространстве имен, связанном с атрибутом tagprefix.
Имя сборки не может включать расширение файла. Также обратите внимание, что если атрибут сборки отсутствует, анализатор ASP.NET предполагает, что исходный код существует в папке App_Code приложения. Если вы хотите зарегистрировать исходный код элемента управления на странице без его компиляции, поместите исходный код в папку App_Code. ASP.NET динамически компилирует исходные файлы в папке App_Code во время выполнения.
Местоположение (относительное или абсолютное) декларативного файла пользовательского элемента управления ASP.NET, связанного с src и парой tagprefix:tagname.
Значение атрибута src может быть либо относительным, либо абсолютным путем от корневого каталога приложения до исходного файла пользовательского элемента управления. Для удобства использования рекомендуется использовать относительные пути. Например, предположим, что все файлы управления пользователем вашего приложения хранятся в подкаталоге Usercontrol корневого каталога приложения. Чтобы включить пользовательский элемент управления в файл Usercontrol1.ascx, включите в директиву @Register следующее:
Src="~usercontrolusercontrol1.ascx" Символ тильды (~) представляет корневой каталог приложения.