2009-09-24 18 views
26

ASP.NETのカレンダーコントロールとうまくいく、フリー/オープンソースの時間ピッカーコントロールがありますか?ASP.NETの日付時刻ピッカー

+3

jQuery UIを見たか試しましたか?優れたdatetime pickerがあります。 – Sebastian

+1

そのピッカーへのリンクは次のとおりです。http://milesich.com/timepicker/ –

+1

sebastian&john、私はjqueryを試していません。インターフェイスが素晴らしいように、私は試してみるつもりです。再度、感謝します。 – SoftwareGeek

答えて

21

からCalendarExtenderをお勧めします。それは具体的ではありませんが.Netはまだ素晴らしい作品です。

HTML:head要素で

<input type="text" value="9/23/2009" style="width: 100px;" readonly="readonly" name="Date" id="Date" class="hasDatepicker"/> 

<script src="../../Scripts/jquery-1.3.2.min.js" language="javascript" type="text/javascript"/> 
<script src="../../Scripts/jquery-ui-1.7.1.custom.min.js" type="text/javascript"/> 
そのような単純な

+1

+1 - 私が使用しているものです。 – Martin

+5

@ Chuck-iはあなたのソリューションを受け入れましたが、datepickerに必要な次のインスタンス化が不足していることを伝えました。 '$( "#Date")。datepicker();' – SoftwareGeek

+16

私が間違っている場合は私を修正してください。しかし、このjQueryコントロールは "DateTime"の "Time"部分をサポートしていません。私が間違っている?私はこのコントロールがDatePickerなので、DateTime Pickerの仕組みがわかりません。 – dyslexicanaboko

8

それは私が使用しただけなので、私はjQueryの最高datepicker私見を持ってhttp://www.ajaxcontroltoolkit.com/

+1

最後にこのツールキットを使用しようとしたとき、私は何かをカスタマイズ/拡張する必要があったのを初めて諦めました。ソースコードは恐ろしいものでした。私は確かに彼らが改善したことを願っていますが、私の経験(Ext、YUI、DojoなどのAjaxコントロールオプションが豊富にあります)に基づいて、私はこの疫病のようなライブラリ全体を避けるでしょう。 –

+2

sshow、私はカレンダーのためのajaxcontroltoolkitを使用していますが、それは時間コンポーネントをサポートしていません – SoftwareGeek

+1

MaskedEditはあなたが望むものを与えることができる可能性はありますか? http://www.ajaxcontroltoolkit.com/MaskedEdit/MaskedEdit.aspx – sshow

3

Basic Date Picker Lite

これは彼らの主力製品の無料版ですが、それはasp.netの日付と時刻のピッカーネイティブが含まれています。

29

あなたの質問に対する答えはです。はい、ASP.NETカレンダーコントロールとうまくいく、フリー/オープンソースのタイムピッカーコントロールがあります。

ASP.NETカレンダーコントロールは、単にhtmlテーブルを書き込みます。

HTML5とDOT.NET Framework 4.5を使用している場合、代わりにASP.NET TextBoxコントロールを使用し、TextModeプロパティを "Date"、 "Month"、 "Week"、または " 「TimeTime」または「DateTimeLocal」のいずれかを使用するか、またはでない場合は、ChromeまたはFirefoxまたはInternet Explorerを使用してを使用する場合は、このプロパティを「DateTime」に設定することもできます。

次に、Textプロパティを読み取って、TextBoxから日付、時刻、月、または週を文字列として取得します。

DOT.NET Framework 4.0以前のバージョンを使用している場合、html5入力タイプ= "日付"または入力タイプ= "月"または入力タイプ= "週"または入力タイプ= "時間"または入力タイプ= "datetime-local"であるか、またはでない場合は、入力タイプ= "datetime"を使用することもできます。

日付フィールドにユーザーが入力した情報をサーバーサイドコード(C#またはVisual Basicで記述)に入力する必要がある場合は、入力タグ内にこの要素をサーバー上で実行することができます。runat="server"

また、この要素にIDを指定すると、サーバーサイドのコードでこの要素にアクセスできます。 Valueプロパティを読み取って、入力された日付、時刻、月、または週を文字列として取得します。この要素をサーバー上で実行できない場合は、入力タイプ= "日付"または "時刻"または "月"または "週"に加えて、隠しフィールドが必要です。 submit関数(javascriptで書かれている)で、隠しフィールドの値を入力タイプ= "date"、 "time"、 "month"、または "week"の値に設定し、次にサーバー側でコード、その隠しフィールドのValueプロパティも文字列として読んでください。

確かに、HTMLのhiddenフィールド要素はサーバー上で実行できます。

希望に役立ちます。

+1

かなり良い解決策。私はなぜ誰も実際にどこにでも投稿したのだろうと思う。 – Vikas

+1

これは直接質問に答えるわけではありませんが、最もクリーンなソリューションです。ありがとう。 – sheppe

2

HTML 5 input type="date"とその他の日付関連の入力タイプは、簡単に実装できます。

さて、あなたはそれほど多くのコントロールをスタイルすることはできませんし、それはdoesn't work on every browserですが、現代のすべてのブラウザがそれをサポートしていて、モバイル機器では常にそのように動作します。

2

これはjqueryのないソリューションです。

は、Webフォームにカレンダーとテキストボックスを追加します - > Webフォームのソースがこれを持っている:

protected void Page_Load(object sender, EventArgs e) 
    { 
     TextBox1.Text = DateTime.Today.ToShortDateString()+'.'; 
    } 

    protected void DateChange(object sender, EventArgs e) 
    { 
     TextBox1.Text = Calendar1.SelectedDate.ToShortDateString() + '.'; 
    } 

方法DateChangeがSelectionChangedカレンダーイベントに接続されている:

<asp:Calendar ID="Calendar1" runat="server" OnSelectionChanged="DateChange"> 
</asp:Calendar> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 

は、WebフォームのCSファイル内のメソッドを作成します。それは次のようになります: DatePicker Image

関連する問題