TBDateEdit 日期控制項 - 1.0.0.0 版
發佈日期:2007/12/02
程式下載:TBDateEdit 1.0.0.0.zip

介紹
TBDateEdit 日期控制項是純用戶端的日期選單,整合 The Coolest DHTML Calendar (註1) 強大的 JavaScript 日期選擇器。透過控制項屬性的設定來簡化撰寫 JavaScript 程式初始化 The Coolest DHTML Calendar 的動作。

屬性說明
Text輸入文字內容。
ReadOnly文字框是否唯讀,只允許使用日期選單。
AutoPostBack是否觸發 PostBack 動作。
ScriptPath用戶端指令碼路徑。
FirstDayOfWeek一週的第一天。
ShowWeekNumbers顯示第幾週。
CalendarStyle日期選單樣式。
Lang日期選單語系。
ShowTime是否顯示時間。


 

方法說明
TextChanged文字內容改變時所引發的事件。

TBDateEdit 控制項智慧標籤面板


執行結果

註1. The Coolest DHTML Calendar 請參閱 The Coolest DHTML Calendar (日期選擇器)


DotBlogs Tags: DateEdit ServerControl

Feedback

  • 佩妮 2008/6/5 上午 11:07 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    Jeff大大您好...
    想和您請教一下...
    下載該壓縮檔...發現裡面有數個資料夾...
    試著執行每一個資料夾...都不行說...
    想和您請教不知道該以那一個為主...謝謝您

  • jeff377 2008/6/5 下午 08:36 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    直接打開 TBDateEdit.sln 即可。

  • 吳明璋 2008/6/19 上午 02:12 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    發生了一各怪事呢

    為什麼只要我把有TBDateEdit的網頁改成MasterPage的內頁時
    執行時就會發生並未將物件參考設定為物件的執行個體的錯誤

    請問這要如何解決呢

  • jeff 2008/6/19 上午 11:33 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    to 吳明璋 :
    我在 MasterPage 內頁測試,並不會發生你說的情形。

  • 吳明璋 2008/6/19 下午 07:26 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    我也蠻納悶的呢 不明白是什麼地方出錯
    只用最簡單的頁面 拉出一各TBDateEdit也會出錯

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="admin_Default" %>

    <%@ Register Assembly="TBDateEdit" Namespace="Bee.Web.WebControls" TagPrefix="bee" %>

    <!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">
    <div>
    <bee:TBDateEdit ID="TBDateEdit1" runat="server" />

    </div>
    </form>
    </body>
    </html>

    可以正常執行...

    <%@ Page Language="VB" MasterPageFile="MasterPage.master" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="admin_Default2" title="Untitled Page" %>

    <%@ Register Assembly="TBDateEdit" Namespace="Bee.Web.WebControls" TagPrefix="bee" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <form id="form1" runat="server">
    <div>
    <bee:TBDateEdit ID="TBDateEdit1" runat="server" />
    </div>
    </form>
    </asp:Content>

    一執行就會出現並未將物件參考設定為物件的執行個體的錯誤

  • paul918 2008/6/24 上午 11:39 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    後來發現 可能是MasterPage的HTML設定問題
    我後來重新開了一個MasterPage
    然後一點一點的加MasterPage的HTML與JavaScript
    就可以了 可是更奇怪的是 新的MasterPage可以使用後
    連舊的MasterPage的網頁也可以用了

    難道真的變成懸案了嗎....

  • jeff377 2008/6/24 下午 07:30 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    你應該是有使用 UpdatePanel 吧?若有的話,我猜測應該 Include js 時間點的關係。

  • jeff377 2008/6/28 上午 02:31 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    我找到問題了,是一個頁面上放二個以上的 TBDateEdit 控制項會發生 JavaScript 的錯誤。修正方式如下

    在 TBDateEdit 的 Render 方法中將

    ScriptManager.RegisterStartupScript(Me.Page, Me.GetType, "DateEditInit" , sScript, True)

    修改為

    ScriptManager.RegisterStartupScript(Me.Page, Me.GetType, "DateEditInit" & Me.ID, sScript, True)

    主要原因是註冊 JavaScript 的 key 一樣,會導致只有一個 TBDateEdit 輸出初始化的 JavaScript,導致錯誤。

  • Shingo 2008/7/2 上午 09:36 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    你好
    我好像也遇到一樣的問題
    我是在使用到UpdatePanel
    並且在頁面中使用了三個TBDateEdit控制項
    在其中一個點選日期之後
    後面全部三個控制項點選都沒有反應了
    但是如果把它放在UpdatePanel外就沒事
    如果是像上面說的一樣要改Render的方法
    那請問這部份應該在哪個檔案裡修改
    謝謝

  • Kevin 2008/9/15 下午 04:56 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    不好意思想請問,
    1.我也碰到上述類似情形,我再網頁上放6個TBDateEdit控制項,query button click前皆可點選日期,但query button click後則點選無反應,但是如果把它放在UpdatePanel外就沒事
    2.如果是如上面說的一樣要改Render的方法,請問應該在哪裡修改?因在TBDateEdit 日期控制項下只有找到PreRender方法,沒有看到Render方法

  • jeff 2008/9/15 下午 07:37 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    to Kevin :
    你的觀念不對,PreRender 是「事件」不是「方法」。Render 是父類別的方法,要直接覆寫。

    ''' <summary>
    ''' 覆寫 Render 方法。
    ''' </summary>
    Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
    MyBase.Render(writer)
    End Sub

  • kevin 2008/9/16 上午 09:18 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    不好意思初學.net很多東西都在學習中.也從您這學到很多.
    想再請問我應在哪個檔案裡修改TBDateEdit render方法

  • Kevin 2008/9/16 下午 05:46 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    補充說明我的問題,在將zip解壓縮後,並未發現有ScriptManager.RegisterStartupScript(Me.Page, Me.GetType, "DateEditInit" , sScript, True)因此我嘗試將TBDateEdit.vb 下之Render直接覆寫為Me.Page.ClientScript.RegisterStartupScript(Me.GetType(), "DateEditInit" & Me.ClientID, sScript, True)後重新compile仍無作用.目前我的專案內已有ajaxtoolkit(scriptmanager),請問我該在何處及如何加入scriptmanager以使多個TBDateEdit 日期控制項可以正常執行

  • jeff 2008/9/16 下午 07:49 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    若你有使用 ScriptManger,不要使用 ClientScript,而是改用 ScriptManager 來輸出 JavaScript 指令碼。

    另建議你去看一下下面的文章:
    撰寫自用的 ScriptManager 來管理用戶端指令碼
    http://www.dotblogs.com.tw/jeff377/archive/2008/05/25/4116.aspx

  • Wisely 2008/10/12 下午 03:39 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    您好!
    請問有C#版本的嗎?....
    因為我有試著把它改成C#版,但是有蠻多地方改寫不出來,不知有沒有大大有改寫出來,可以分享給小弟,非常感謝...

  • WizardWu 2008/10/12 下午 10:07 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    CodeProject網站上有類似的,
    對岸的網站也有,
    簡體中文「道不求人」控件開發書籍也有現成的,一整章在講日期選擇的自訂控件,天瓏隔壁的簡體字書店有賣。
    上述都 C# 版的。

  • jeff 2008/10/13 上午 09:46 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    to Wisely :
    Sorry.我這邊沒有 C# 的版本。

  • Wisely 2008/10/13 下午 04:57 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    Dear Jeff
    了解...感謝您的回覆.....

  • Tim 2008/11/17 下午 05:20 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    請問我使用此控制項選取日期後,想要清除文字框的日期,
    再ASPX中該如何下指令.

  • jeff377 2008/11/17 下午 05:23 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    to Tim :
    設定 Text 屬性為空字串。

  • Tim 2008/11/18 上午 09:45 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    您好:

    我於aspx網頁,
    使用javascript執行以下指令,
    document.all.TBDateEdit$textbox.Text="";
    出現document.all.TBDateEdit$textbox.Text是null或不是一個物件的錯誤.

  • jeff377 2008/11/18 上午 10:36 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    to Tim :
    你直接「檢視網頁原始碼」,就可以知道那個 textbox 正確的 clientid 是什麼。

  • BOBO 2008/11/25 上午 04:31 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    請要如果我有兩個TBDateEdit第一個的時間要比第二個早例如第一個是11/18第二個只能選11/19以後才行我該如何判斷

  • 阿峰 2008/12/1 上午 01:29 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    例外詳細資訊: System.NullReferenceException: 並未將物件參考設定為物件的執行個體

    這是怎麼一回事呢??

  • jeff377 2008/12/1 上午 10:07 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    to 阿峰 :
    通常這個錯誤訊息是變數為 Nothing 所引發的,我猜測是你程式碼中用 FindControl 的結果是 Nothing 所導致。

  • BOBO 2008/12/10 下午 11:42 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    請問有辦法讓日期選擇不要在下方
    而且在右邊出現嗎?

  • 大美 2009/1/5 下午 03:45 回覆

    # re: TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)

    1.請問若要將按鈕Button改成ImageButton要如何修改?
    2.設計頁面會出現[呈現控制項時發生錯誤]
    煩請大協助回答!!

標題 *
名稱 *
Email (將不會被顯示)
Url
回應
登入後使用進階評論
Please add 8 and 2 and type the answer here: