Вопрос

Я разработал пользовательский элемент управления, который я хотел бы встроить в Umbraco.Процесс кажется простым, но, возможно, я пытаюсь сделать что-то, что невозможно.

Мой usercontrol зависит от нескольких других usercontrols.Когда я пытаюсь просмотреть свойства в "главном" usercontrol, я получаю сообщение об ошибке, приведенное ниже.

Я скопировал все файлы .ascx в папку usercontrols, а сборка находится в каталоге bin.Возможно ли разместить "составной" usercontrol в Umbraco, который зависит от других usercontrols и содержит их?

System.Web.HttpParseException Исключение:Файл '/ucLogin.ascx' не существует.---> Исключение System.Web.HttpParseException:Файл '/ucLogin.ascx' не существует.---> Исключение System.Web.HttpException:Файл '/ucLogin.ascx' не существует.в System.Web.UI.Util.Проверьте существование виртуального файла (VirtualPath VirtualPath) в System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(виртуальный путь VirtualPath, логическое значение noBuild, логическое значение allowCrossApp, логическое значение allowBuildInPrecompile) в System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(контекст HttpContext, виртуальный путь VirtualPath, логическое значение noBuild, логическое значение allowCrossApp, логическое значение allowBuildInPrecompile) в System.Web.Compilation.BuildManager.GetVPathBuildResult(контекст HttpContext, VirtualPath VirtualPath, логическое значение noBuild, логическое значение allowCrossApp, логическое значение allowBuildInPrecompile) в System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath VirtualPath, логическое значение allowNoCompile) в System.Web.UI.BaseTemplateParser.GetUserControlType(виртуальный путь VirtualPath) в System.Web.UI.MainTagNameToTypeMapper.Обработайте пользовательскую регистрацию (UserControlRegisterEntry ucRegisterEntry) в System.Web.UI.BaseTemplateParser.ProcessDirective(Строковое имя директив, директива IDictionary) в System.Web.UI.TemplateControlParser.ProcessDirective(имя директив строки, директива IDictionary) в System.Web.UI.TemplateParser.ParseStringInternal(текстовая строка, кодировка fileEncoding) --- Конец трассировки внутреннего стека исключений --- в System.Web.UI.TemplateParser.ProcessException(Исключение ex) в System.Web.UI.TemplateParser.ParseStringInternal(текстовая строка, кодировка fileEncoding) в System.Web.UI.TemplateParser.Синтаксический анализ(String text, VirtualPath VirtualPath, Encoding fileEncoding) --- Конец трассировки внутреннего стека исключений --- в System.Web.UI.TemplateParser.Синтаксический анализ (String text, VirtualPath VirtualPath, Encoding fileEncoding) в System.Web.UI.TemplateParser.ParseReader(программа чтения StreamReader, VirtualPath VirtualPath) в System.Web.UI.TemplateParser.Файл синтаксического анализа (строковый физический путь, виртуальный путь VirtualPath) в System.Web.UI.TemplateParser.ParseInternal() в System.Web.UI.TemplateParser.Выполните синтаксический анализ () в System.Web.UI.TemplateParser.Выполните синтаксический анализ (ICollection ReferencedAssemblies, VirtualPath VirtualPath) в System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() в System.Web.Compilation.BuildProvider.Получите compilertypefrombuildprovider(BuildProvider BuildProvider BuildProvider) в System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() в System.Web.Compilation.BuildProvidersCompiler.PerformBuild() в System.Web.Compilation.BuildManager.Скомпилируйте веб-файл (VirtualPath VirtualPath) в System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(виртуальный путь VirtualPath, логическое значение noBuild, логическое значение allowCrossApp, логическое значение allowBuildInPrecompile) в System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(контекст HttpContext, виртуальный путь VirtualPath, логическое значение noBuild, логическое значение allowCrossApp, логическое значение allowBuildInPrecompile) в System.Web.Compilation.BuildManager.GetVPathBuildResult(контекст HttpContext, VirtualPath VirtualPath, логическое значение noBuild, логическое значение allowCrossApp, логическое значение allowBuildInPrecompile) в System.Web.UI.TemplateControl.LoadControl(виртуальный путь VirtualPath) в System.Web.UI.TemplateControl.LoadControl(строковый виртуальный путь) в umbraco.developer.assemblyBrowser.Page_Load(Отправитель объекта, EventArgs e)

Это было полезно?

Решение

Usercontrol ссылается на другие элементы управления через rootpath.Можете ли вы изменить ссылку /ucLogin.ascx на ucLogin.ascx и посмотреть, что произойдет.

Надеюсь, это поможет вам,

Ричард

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top