Umbraco - 无法加载类型' usercontrols_NewContactUs'

时间:2015-06-09 23:05:08

标签: c# asp.net umbraco

我正在尝试复制Umbraco中的现有表单(未安装Contour)。我复制了以下文件:

发件人: \我的站点\用户控件\ COMMON \ ContactUsForm.ascx     <%@ Control Language =" C#" AutoEventWireup ="真"继承=" usercontrols_ContactUs"代码隐藏=" ContactUsForm.ascx.cs" %GT;

\我的站点\用户控件\ COMMON \ NewContactUsForm.ascx     <%@ Control Language =" C#" AutoEventWireup ="真"继承=" usercontrols_NewContactUs"代码隐藏=" NewContactUsForm.ascx.cs" %GT;

发件人: \我的站点\用户控件\ COMMON \ ContactUsForm.ascx.cs     public partial class usercontrols_ContactUs:System.Web.UI.UserControl {...}

\我的站点\用户控件\ COMMON \ NewContactUsForm.ascx.cs     public partial class usercontrols_NewContactUs:System.Web.UI.UserControl {...}

我创建了一个指向NewForm的宏,并将宏添加到新页面。

我没有安装Visual Studio - 我的codeBehind类中是否存在编译错误?

错误详情如下:

创建宏并将其添加到表单中会出错: 创建控件时出错(usercontrols / Common / NewContactUsForm.ascx)。 也许文件不存在或者usercontrol有一个缓存指令,这是不允许的!有关详细信息,请参阅tracestack!

  

读取usercontrols / Common / NewContactUsForm.ascx时出错以下内容   列表显示Control中的公共属性。通过检查   单击属性,然后单击"保存属性"底部的按钮,   umbraco将创建相应的宏元素。

     

System.Web.HttpParseException(0x80004005):无法加载类型   ' usercontrols_NewContactUs&#39 ;. ---> System.Web.HttpParseException   (0x80004005):无法加载类型' usercontrols_NewContactUs'。 --->   System.Web.HttpException(0x80004005):无法加载类型   ' usercontrols_NewContactUs&#39 ;.在   System.Web.UI.TemplateParser.GetType(String typeName,Boolean   ignoreCase,Boolean throwOnError)at   System.Web.UI.TemplateParser.ProcessInheritsAttribute(字符串   baseTypeName,String codeFileBaseTypeName,String src,Assembly   汇编)   System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDictionary的   parseData)at System.Web.UI.TemplateParser.ProcessException(Exception   ex)在System.Web.UI.TemplateParser.ParseStringInternal(String text,   编码fileEncoding)   System.Web.UI.TemplateParser.ParseString(String text,VirtualPath   virtualPath,编码fileEncoding)   System.Web.UI.TemplateParser.ParseString(String text,VirtualPath   virtualPath,编码fileEncoding)   System.Web.UI.TemplateParser.ParseFile(String physicalPath,   VirtualPath virtualPath)at   System.Web.UI.TemplateParser.ParseInternal()at   System.Web.UI.TemplateParser.Parse()at   System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType()   在   System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider   buildProvider)at   System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()   在System.Web.Compilation.BuildProvidersCompiler.PerformBuild()at   System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath   virtualPath)at   System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath   virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean   allowBuildInPrecompile,Boolean throwIfNotFound,Boolean   保证在最近的时候   System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext的   context,VirtualPath virtualPath,Boolean noBuild,Boolean   allowCrossApp,Boolean allowBuildInPrecompile,Boolean   throwIfNotFound,Boolean ensureIsUpToDate)at   System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath)at   umbraco.developer.assemblyBrowser.Page_Load(Object sender,EventArgs   E)

1 个答案:

答案 0 :(得分:1)

是的,这是一个编译问题。在编译之前,类NewContactUsForm不存在。在绑定中,您可以直接在NewContactUsForm.ascx上将代码从NewContactUsForm.ascx.cs移动到C#脚本块中,并删除co​​debehind =“...”并完全继承=“...”引用。这样你就不用编译了。