1

我正在尝试Ajax Toolkit在 ASP.NET 页面中使用此代码显示日历扩展器,但它对我不起作用。

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<br />
<br />
<b>Calendar :</b><br />
    <asp:TextBox ID="Date1" runat="server"></asp:TextBox>
    <asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="Date1">
    </asp:CalendarExtender>
</div>
</form>

它不显示日历。

有什么问题 ?

4

3 回答 3

2

尝试:

<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="Date1">
</ajaxToolkit:CalendarExtender>

更新:

您的 web.config 中有以下内容吗?

    <pages>
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="asp" />
      </controls>
    </pages>

    <compilation>
        <assemblies>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        </assemblies>
    </compilation>

    <httpHandlers>
        <remove verb="*" path="*.asmx" />
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
    </httpHandlers>

    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </httpModules>

更新二

将以下内容放在您的 aspx 页面顶部。

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

另外,您引用的是 AjaxControlToolkit.dll,对吗?它应该在您的 bin 目录中。右键项目,Add Reference菜单选择添加。

于 2010-05-31T15:35:33.710 回答
0

您是否Register在页面中添加了 CalendarExtender 指令?

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

(或者像史蒂夫建议的那样在 web.config 中添加它)

您是否添加了对 AjaxControlToolkit dll 的程序集引用?

于 2010-05-31T20:29:36.010 回答
0

那么它是由 ScriptManager 引起的。我有同样的问题。解决方案非常简单,只需从页面或您放置的位置删除 ScriptManager 即

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

删除 scriptmanager 后,只需放置 ToolkitscriptManager 或以下代码:

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

您可以在工具栏 -> ajax 选项卡中找到它,而不是在 Ajax Extensions 选项卡中。我希望它能解决你的问题

于 2012-01-25T07:16:40.447 回答