2009-04-23 95 views
2

我想創建一個類似this的asp.net ajax日曆,但完全在代碼隱藏方面。我該怎麼做?如何在代碼隱藏中創建日曆?

編輯:我只想JS代碼添加到頁面的代碼隱藏(如:沒有標記)

Edit_2:我需要這個,因爲我創造一個TextBox控件模板類,並希望在那裏創建日曆(與文本框中使用)

+0

而是取決於你的意思是「完全在代碼隱藏」的定義AJAX涉及客戶端代碼。也就是說,這些工具和其他工具是設計時組件,可以爲您完成Ajax繁重工作,因此您所做的工作僅僅是設計時的工作和運行時的代碼背後的組合。 從根本上說這個問題太模糊了 - 你當然可以從後面的代碼運行時添加必要的JavaScript的網頁,而是提供我們需要知道更多有用的答案。 – Murph 2009-04-23 12:23:35

回答

2

你指的是ASP.NET AJAX日曆是一個擴展,因此在理論上,你可以在運行的時候在後臺代碼添加到您的文本框。看下面的例子,佔位符是至關重要的!

我不知道你爲什麼會想這樣做,你可以給我們作爲有可能是一個更好的解決方案,需要一個更好的主意。

簡單的頁面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %> 

<!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></title> 
</head> 

<body> 
    <form id="form1" runat="server"><asp:scriptmanager runat="server"></asp:scriptmanager> 
    <div> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    <asp:PlaceHolder ID="Place1" runat="server"></asp:PlaceHolder> 
    </div> 
    </form> 
</body> 
</html> 

代碼背後

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using AjaxControlToolkit; 

namespace WebApplication2 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      CalendarExtender myCalExt = new CalendarExtender(); 
      myCalExt.TargetControlID = "TextBox1"; 
      Place1.Controls.Add(myCalExt); 
     } 
    } 
}