我正在尝试使用Visual Studio 2005和C#2005构建Web应用程序。我需要在特定的文本框中接受日期。我试图使用AJAX Calendar Extender。我已将AJAX Script Manager和CalendarExtender控件添加到网页,并将CalendarExtender的TargetControlId设置为正确的文本框ID。但是当我显示网页时(使用Debug - > Start Without Debugging)并在文本框内单击没有任何反应。我甚至尝试将图像控件添加到窗体并将CalendarExtender的PopupButtonId设置为图像,但即便如此,我也无法显示日历控件。我做错了什么?
我只删除了webform上所需的控件,并且所有代码都是自动生成的。生成的代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<!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">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TextBox1"></cc1:CalendarExtender>
<asp:ScriptManager id="ScriptManager1" runat="server"></asp:ScriptManager>
</form>
</body>
</html>
答案 0 :(得分:1)
应该在ajax扩展器之前定义ScriptManager。
答案 1 :(得分:0)
只需定义
<ajaxToolkit:ToolkitScriptManager runat="Server" EnableScriptGlobalization="true"
EnableScriptLocalization="true" ID="ScriptManager1" ScriptMode="Debug" CombineScripts="false" />
此代码在ajax中的日历控制之前。