3

我有一个 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;
4

2 回答 2

5

我可以很好地编译您的代码示例,您应该检查您的设计器文件以确保一切正常。

编辑:我能想到的唯一另一件事是这是某种参考问题。您的 System.Web.Extensions 引用是否为您的目标框架使用了正确的版本?(对于 .net 3.5 应该是 3.5.0.0,对于 2.0 应该是 1.0.6xxx)

于 2008-09-18T17:30:34.270 回答
1

我发现我引用的 System.Web.Extensions (v3.5.sth) 库与 web.config (v.1.0.6sth) 中的引用没有相同的版本。用旧版本的 System.Web.Extensions 替换 dll (3.5) 解决了这个问题。

于 2008-09-18T17:47:46.130 回答