我有一个ASP.NET页面,上面有一个脚本管理器。
<form id="form1" runat="server">
<div>
<asp:ScriptManager EnablePageMethods="true" ID="scriptManager2" runat="server">
</asp:ScriptManager>
</div>
</form>
页面覆盖抽象属性以返回ScriptManager,以使基页能够使用它:
public partial class ReportWebForm : ReportPageBase
{
protected override ScriptManager ScriptManager
{
get { return scriptManager2; }
}
...
}
基页:
public abstract class ReportPageBase : Page
{
protected abstract ScriptManager ScriptManager { get; }
...
}
当我运行项目时,我得到以下解析器错误:
分析器错误消息:基类包含字段“scriptManager2”,但其类型(System.Web.UI.ScriptManager)与控件类型(System.Web.UI)不兼容.ScriptManager)。
我该如何解决这个问题?
更新: 设计器文件的脚本管理器部分是:
protected global::System.Web.UI.ScriptManager scriptManager;
答案 0 :(得分:5)
我可以很好地编译您的代码示例,您应该检查您的设计器文件以确保一切正常。
编辑:我唯一能想到的是这是某种参考问题。您的System.Web.Extensions引用是否使用正确的目标框架版本? (对于.net 3.5应为3.5.0.0,对于2.0应为1.0.6xxx)答案 1 :(得分:1)
我发现我引用的System.Web.Extensions(v3.5.sth)库与web.config(v.1.0.6sth)中的引用没有相同的版本。用旧版本的System.Web.Extensions替换dll(3.5)解决了这个问题。