我创建了一个新页面,其中包含一个页面和对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>
答案 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。我这样做了:
2. 我是通过新安装程序
安装的3. 我在VS 2013中创建了新项目
4. 将我的现有代码移至此项目和
加上,现在没有<ajaxToolkit:ToolkitScriptManager
,你必须立即使用标准 ScriptManager