无法加载类型'用户控件'

时间:2014-09-15 06:00:35

标签: asp.net sharepoint-2010

我已经在sharepoint 2010中恢复了一个网站。但是当我运行它时,会弹出有关用户控件的错误。 即

Could not load type 'Newsletter.Web.Applications.Subscribers.AddSubscriberStep1'. 

这是来自LOG的错误描述:

System.Web.HttpException: Could not load type 'Newsletter.Web.Applications.Subscribers.AddSubscriberStep1'.    at System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError)     at System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeName, String codeFileBaseTypeName, String src, Assembly assembly)     at System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDictionary parseData)   ac3fc84c-11f3-46a0-bea5-930c43627627

我已经部署了该用户控件所在的项目,但仍然是相同的错误。我哪里错了?请帮助我。

1 个答案:

答案 0 :(得分:3)

以下示例显示对于Web UserControl,但对于Page,Master Page和WebPart,它的工作方式相同:

  <!-- change this (ASP.NET Web Site version) -->
 <%@ Control Language="C#" AutoEventWireup="true"
 CodeFile="WebUserControl.ascx.cs"
 Inherits="Controls_WebUserControl" %>

 <!-- into this (ASP.NET Web Application version), or vice versa -->
 <%@ Control Language="C#" AutoEventWireup="true"
 CodeBehind="WebUserControl.ascx.cs"
 Inherits="Controls_WebUserControl" %>

这就是你需要做的就是摆脱那个恼人的错误!

原因?如果您有“ASP.NET Web应用程序”,Microsoft需要在Page,Control或Master指令中使用CodeBehind,如果您有“ASP.NET Web站点”,则编译器需要CodeFile。我不知道为什么存在这种差异,它非常烦人,您可以在找到它之前永远盯着您的代码,但这是此方案的解决方案