尽管在我的项目中下载,安装和添加VS2012(Ultimate)中的AjaxControlToolkit,我无法访问其“CalanderExtender”对象功能。
.aspx文件代码是:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Documents.aspx.cs" Inherits="a.Documents" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit"%>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></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>
</div>
</form>
</body>
</html>
Web.Config是:
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<pages><controls><add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" /></controls></pages></system.web>
</configuration>
现在,我不明白的是,尽管在项目中添加了AjaxControlToolkit
,但是从ScriptManager
添加了AJAX Extensions
,添加并注册了程序集,但是CalanderExtender提示没有显示在文本中我在上面的代码中添加的框。当我尝试使用以下代码手动添加CalanderExtender时:
<asp:CalendarExtender ID="CalendarExtender1" runat="server" PopupButtonID="txtDate" TargetControlID="TextBox1" PopupPosition="Right"></asp:CalendarExtender>
它会在.aspx文件中抛出以下错误:
Error Creating Control - CalendarExtender1
Unknown server tag 'asp:CalendarExtender'.
具有讽刺意味的是,我之前已经实现了这个Ajax日历功能,但从未遇到过像这样的问题。
请帮忙。
亲切的问候。
答案 0 :(得分:1)
AjaxControlToolkit在页面顶部和带有TagPrefix
属性ajaxToolkit的web.config中注册,因此您需要将CalendarExtender声明为:
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" PopupButtonID="txtDate" TargetControlID="TextBox1" PopupPosition="Right"></ajaxToolkit:CalendarExtender>
答案 1 :(得分:1)
由于您使用的是ajax控件工具包,因此您需要使用 ToolScriptManager 而不仅仅是 ScriptManager 。
拖放 ToolScriptManager 或尝试此操作。
<asp:ToolkitScriptManager runat="server"></asp:ToolkitScriptManager>