2010-05-31 38 views
1

我試圖在ASP.NET頁面中使用Ajax Toolkit來顯示帶有此代碼的Calendar Extender,但它不適用於我。Ajax工具包ASP.NET(Visual Basic)不顯示日曆

<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> 

它不顯示日曆。

有什麼問題?

回答

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> 

更新II

把下面爲您aspx頁面的頂部。

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

此外,您正在引用AjaxControlToolkit.dll,對不對?它應該在你的bin目錄中。右鍵單擊項目,添加引用菜單選項以添加。

+0

' 2010-05-31 16:43:44

+0

添加了web.config內容。你有上面的web.config行嗎? – Steve 2010-05-31 18:06:30

+0

我推出了這些行,但在設計選項卡中,我收到以下錯誤消息: 無法顯示此控件,因爲它的TagPrefix未在此窗體中註冊。 – 2010-05-31 20:50:16

0

您是否爲您的CalendarExtender頁面添加了Register指令?

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

(或將它在web.config中像史蒂夫建議)

您所添加的組件參照AjaxControlToolkit的dll?

+0

我推出了這些行,但在設計選項卡中我有此錯誤消息:無法顯示此控件,因爲它的TagPrefix未在此窗體中註冊。 – 2010-05-31 20:52:45

0

它是由ScriptManager引起的。我有同樣的問題。該解決方案是非常簡單直接刪除的ScriptManager從第一頁放在了什麼地方即

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

一旦你刪除的ScriptManager然後只需將ToolkitscriptManager或下面的代碼:

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

你可以找到這個工具欄 - > AJAX選項卡不在「Ajax擴展」選項卡中。我希望它能解決您的問題