Ajaxcontroltoolkit 15.1.2 Tabcontainer问题

时间:2015-07-10 18:43:40

标签: asp.net ajaxcontroltoolkit tabcontainer

我刚刚将旧版Web应用程序从.NET 3.5升级到.NET 4.5。该应用程序广泛使用AjaxControlToolkit。由于 2015年5月可以使用新版本,我也会对其进行升级。

我收到了几个错误,因此我尝试从头开始创建一个空项目,通过Nuget添加AjaxControlToolkit,似乎问题是由TabContainer控件引起的。

我收到下图中显示的错误:

First

  

SCRIPT1028:预期的标识符,字符串或数字

Second

  

0x800a139e - JavaScript运行时错误:Sys.ArgumentUndefinedException:无法定义值。

显然,在这些错误之后,页面中没有TabContainer。

奇怪的是,它只发生在Internet Explorer 9+中。它就像Firefox和Chrome中的魅力一样

应用程序几乎是空的,这是页面中的相关代码:

<asp:ScriptManager ID="sm" runat="server">
</asp:ScriptManager>
<ajaxToolkit:TabContainer ID="tc" runat="server">
    <ajaxToolkit:TabPanel ID="tp1" runat="server">
        <HeaderTemplate>
            Header
        </HeaderTemplate>
        <ContentTemplate>
            Content
        </ContentTemplate>
    </ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您似乎 使用捆绑来使其正常工作。

在问题中提到的项目中,我使用 nuget 添加了AjaxControlToolkit 15.1.2引用。

要解决此问题,我已根据CodePlex

中的说明启用了捆绑功能
  1. 使用 nuget
  2. 添加对AjaxControlToolkit.StaticResources的引用
  3. ScriptManager更改为以下内容:

    <asp:ScriptManager runat="server">
        <Scripts>
            <asp:ScriptReference Path="~/Scripts/AjaxControlToolkit/Bundle" />
        </Scripts>
    </asp:ScriptManager>
    
  4. 将以下内容添加到<head>元素:

    <asp:PlaceHolder runat="server">
        <%: System.Web.Optimization.Styles.Render("~/Content/AjaxControlToolkit/Styles/Bundle") %>
    </asp:PlaceHolder>
    
  5. 请确保在web.config

    中有此信息
    <ajaxControlToolkit useStaticResources="true" renderStyleLinks="false" />