我刚刚将旧版Web应用程序从.NET 3.5升级到.NET 4.5。该应用程序广泛使用AjaxControlToolkit
。由于 2015年5月可以使用新版本,我也会对其进行升级。
我收到了几个错误,因此我尝试从头开始创建一个空项目,通过Nuget添加AjaxControlToolkit
,似乎问题是由TabContainer
控件引起的。
我收到下图中显示的错误:
SCRIPT1028:预期的标识符,字符串或数字
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>
有什么想法吗?
答案 0 :(得分:1)
您似乎 使用捆绑来使其正常工作。
在问题中提到的项目中,我使用 nuget 添加了AjaxControlToolkit 15.1.2引用。
要解决此问题,我已根据CodePlex:
中的说明启用了捆绑功能AjaxControlToolkit.StaticResources
的引用
将ScriptManager
更改为以下内容:
<asp:ScriptManager runat="server">
<Scripts>
<asp:ScriptReference Path="~/Scripts/AjaxControlToolkit/Bundle" />
</Scripts>
</asp:ScriptManager>
将以下内容添加到<head>
元素:
<asp:PlaceHolder runat="server">
<%: System.Web.Optimization.Styles.Render("~/Content/AjaxControlToolkit/Styles/Bundle") %>
</asp:PlaceHolder>
请确保在web.config
:
<ajaxControlToolkit useStaticResources="true" renderStyleLinks="false" />