2013-10-15 68 views
6

我仅在生产环境中遇到AjaxToolkit日历显示错误。在本地调试时,这个问题不存在,日历datepicker完美工作。所有其他的帖子都围绕着这个工具包而没有工作。我关心的是为什么在测试中工作,但不是生产,因为我无法在使用ASP.NET ScriptManager的代码中找到引用。AjaxControlToolkit需要ASP.NET Ajax 4.0脚本错误

以下是关于“的Site.Master”

<ajaxToolKit:ToolkitScriptManager runat="server"> 
    <Scripts> 
     <%--Framework Scripts--%>    
     <%--<asp:ScriptReference Name="jquery" />--%> 
     <%--<asp:ScriptReference Name="jquery.ui.combined" />--%> 
     <asp:ScriptReference Path="~/Scripts/WebForms/WebForms.js" /> 
     <asp:ScriptReference Path="~/Scripts/WebForms/WebUIValidation.js" /> 
     <asp:ScriptReference Path="~/Scripts/WebForms/MenuStandards.js" /> 
     <asp:ScriptReference Path="~/Scripts/WebForms/GridView.js" /> 
     <asp:ScriptReference Path="~/Scripts/WebForms/DetailsView.js" /> 
     <asp:ScriptReference Path="~/Scripts/WebForms/TreeView.js" /> 
     <asp:ScriptReference Path="~/Scripts/WebForms/WebParts.js" /> 
     <asp:ScriptReference Path="~/Scripts/WebForms/Focus.js" /> 
     <asp:ScriptReference Name="WebFormsBundle" /> 
     <%--Site Scripts--%> 

    </Scripts> 
</ajaxToolKit:ToolkitScriptManager> 

这是一个使用日历功能,并且具有的Site.Master作为其的MasterPageFile

<asp:Label ID="DateRangeLabel" runat ="server" Text="Date Range: "></asp:Label> 
<asp:TextBox ID="DateFrom" runat="server" Width="95px"></asp:TextBox> 
<ajaxtoolkit:calendarextender ID="Calendarextender" runat="server" TargetControlID="DateFrom" PopupPosition="BottomLeft" Format="MM/dd/yyyy"></ajaxtoolkit:calendarextender> 
<asp:TextBox ID="DateTo" runat="server" Width="95px"></asp:TextBox> 
<ajaxtoolkit:calendarextender ID="Calendarextender1" runat="server" TargetControlID="DateTo" PopupPosition="BottomLeft" Format="MM/dd/yyyy"></ajaxtoolkit:calendarextender> 

这是我的网站的一部分页面.config文件

<controls> 
    <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />   
    <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/> 
</controls> 

这是生产中产生的错误:

Uncaught Error: AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts. Ensure the correct version of the scripts are referenced. If you are using an ASP.NET ScriptManager, switch to the ToolkitScriptManager in AjaxControlToolkit.dll. 

Uncaught TypeError: undefined is not a function MicrosoftAjax.js:6 

回答

16

如果存在,您可能需要尝试从服务器上的bin文件夹中删除Microsoft.AspNet.ScriptManager.MSAjax.dll

AjaxControlToolkit version 7.with .NET 4.5

+0

修复它。我感谢您的帮助。我以为我在发布之前删除了现有的文件,但我想不是。 – Rafiki

+0

Thx它完美的作品 – Ali

+0

谢谢你。你为我节省了时间! – Tchaps

2

您可能还需要删除您的项目属性的参考Microsoft.AspNet.ScriptManager.MSAjax.dll。这是我需要做的解决问题。

1

http://ajaxcontroltoolkit.codeplex.com/workitem/27639

下面是如何通过你的的NuGet包管理器控制台命令行上安装的是旧版本: 安装,包装AjaxControlToolkit -Version 7.607.0

我遇到AjaxControlToolkit 7.1213这个确切问题。回到7.607.0,就像mlippold建议的那样,为我解决了这个问题。谢谢!

1

我只从bin目录

+0

这是不是现有的,[接受的答案](http://stackoverflow.com/a/19391784/923794)? – cfi

2

在一个新的Web应用程序中排除Microsoft.AspNet.ScriptManager.MSAjax.dll有超过一做。在我的新vs2013项目,我必须

  1. 删除不仅Microsoft.AspNet.ScriptManager.MSAjax.dll但像Microsoft.AspNet.ScriptManager.*
  2. 所有参考从Bin文件夹中删除所有论文文件
  3. 然后重建项目

愿这能帮助他人 ! 我误解了上述建议(我的错)。记住删除解决方案中的所有引用。

+0

这解决了我的问题。非常感谢! – Tillito

相关问题