【问题标题】:Simple ajax asp.net calendar extender not working简单的 ajax asp.net 日历扩展器不起作用
【发布时间】:2011-02-26 09:12:20
【问题描述】:

我创建了一个新项目,其中包含一个页面并引用了AjaxControlToolkit.dll

下面的日历扩展器不起作用,我做错了什么?

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>

    <form id="form1" runat="server">
    <div>    
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <ajaxToolkit:CalendarExtender runat="server" TargetControlID="TextBox1" CssClass="ClassName" Format="MMMM d, yyyy" />
    </div>
    </form>
</body>
</html>

【问题讨论】:

    标签: asp.net ajax calendar calendarextender


    【解决方案1】:

    尝试使用 ajaxtoolkit ScriptManager 而不是 asp ..其他一切看起来都很好

    <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" > </ajaxToolkit:ToolkitScriptManager>
    

    【讨论】:

      【解决方案2】:

      以上答案是正确的;但是,它对我不起作用。我尝试将 ToolkitScriptManager 拖到我的表单中,它被呈现为

      "。当时它对我有用。请注意,它是“asp.ToolkitScriptManager”,而不是“ajaxToolkit :ToolkitScriptManager"。也许这是我使用的 Ajax Control Toolkit 版本的变化?
          

      【讨论】:

        【解决方案3】:

        不,无论您将 tagPrefix 设置为什么,它可能是 cc1 或 asp 或 ajaxToolkit

        <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
        

        【讨论】:

          【解决方案4】:
          <httpHandlers>
                          <remove path="*.asmx" verb="*"/>
                          <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
                          <add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
                          <add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
                          <add path="CrystalImageHandler.aspx" verb="GET" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
                          <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
                      </httpHandlers>
              <system.web></system.web>
          

          【讨论】:

            【解决方案5】:

            关于 Ajax Control Toolkit 7.1213.0

            由于您使用的是 ajax 控件工具包,因此您需要使用 ToolScriptManager 而不仅仅是 ScriptManager

            拖放 ToolScriptManager 或直接输入

            <asp:ToolkitScriptManager runat="server"></asp:ToolkitScriptManager>
            

            如果不起作用,请将其放在网页的开头。

            <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
            

            您可以在目标文本框之后使用 CalendarExtender

            <asp:TextBox runat="server" ID="txtDate1" />
            <asp:CalendarExtender ID="txtDate1_CalendarExtender" runat="server" Enabled="True" TargetControlID="txtDate1">
            </asp:CalendarExtender>
            

            如果这些都不起作用,您应该编辑您的 Web.config 文件并添加必要的配置。将配置添加到需要您参考另一个教程的 ajax 控件。

            【讨论】:

              【解决方案6】:

              既然已经回答了,只是为了让开发者面临这个问题NOW,说说Update October 2015:的版本现在DevExpress维护

              我通过 Nuget 将我的 VS 2013 Web Forms 应用程序项目升级到 ajax
              &
              我遇到了同样的问题,日历控制不起作用,所有代码都完美

              所以对我有用的解决方案是:

              1.我这样做了:

              2.我是通过这个New安装程序安装的

              3.我在我的 VS 2013 中创建了一个新建项目

              4.将我的现有代码移至此项目并

              成功了!!

              另外,
              现在没有&lt;ajaxToolkit:ToolkitScriptManager,你必须现在使用标准的ScriptManager

              【讨论】:

                【解决方案7】:

                叹息...我知道这个问题已经过时了,但是如果其他人到达并且这些解决方案不能解决问题,那么这里有一些东西需要检查。我们有一个旧版 Web 表单应用程序,我花了大部分时间进行故障排除,因为日历扩展器控件刚刚停止在特定页面上工作。没有在服务器/本地开发计算机上运行过补丁或服务包,也没有 Ajax 程序集版本更改,也没有最近对页面进行更改。

                事实证明,页面加载中的注册启动脚本引用了外部 js 文件中不再存在的 JavaScript 函数,因此页面加载中的 JavaScript 错误停止了 ajax 控件初始化/功能。因此,请检查您的开发人员工具(Chrome 似乎是最好的)是否存在 JavaScript 错误,这些错误可能会阻止其他 JavaScript 初始化脚本为日历扩展程序和类似工具运行。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2012-06-29
                  • 2015-04-03
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多