简单的ajax asp.net日历扩展器无法正常工作

时间:2010-06-01 14:05:55

标签: asp.net ajax calendar calendarextender

我创建了一个新页面,其中包含一个页面和对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>

6 个答案:

答案 0 :(得分:20)

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

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

答案 1 :(得分:5)

不,它是什么设置tagPrefix,它可能是cc1或asp或ajaxToolkit

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

答案 2 :(得分:4)

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

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>"<
。那对我有用。请注意,它是“asp.ToolkitScriptManager”,而不是“ajaxToolkit:ToolkitScriptManager”。也许这是我正在使用的Ajax Control Toolkit版本的变化?

答案 3 :(得分:2)

关于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控件,这需要您引用另一个教程。

答案 4 :(得分:1)

<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 :(得分:1)

由于已经回答了问题,但只是为了让开发人员面对这个问题 NOW ,讨论由{{维护的现在版本Update October 2015: 3}}

我通过 Nuget 将我的 VS 2013 Web表单应用程序项目升级为ajax
&amp;
我遇到了同样的问题,日历控件不能正常工作,所有代码都完美无缺

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

1。我这样做了:

DevExpress

2. 我是通过安装程序

安装的

3. 我在VS 2013中创建了项目

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

它有效!!

加上,现在没有<ajaxToolkit:ToolkitScriptManager,你必须立即使用标准 ScriptManager

enter image description here