使用 ScriptManager 时出现解析器错误

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;

你的页面设计文件长什么样子?听起来它似乎不喜欢控件的设计定义。 - Nick Craver
2个回答

5
我可以正常编译您的代码示例,您应该检查您的设计文件以确保一切都没问题。
编辑:我能想到的唯一可能是这是某种引用问题。您的System.Web.Extensions引用是否使用了与目标框架相对应的正确版本?(.NET 3.5应该使用3.5.0.0,2.0应该使用1.0.6xxx)

1

我发现我的引用 System.Web.Extensions(v3.5.sth)库与 web.config 中的引用版本(v.1.0.6sth)不一致。将 dll(3.5)替换为旧版本的 System.Web.Extensions 可以解决问题。


哈!我们一定是同时在打字!恭喜你解决了问题! - Jared

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接