- 締切済み
ASP.NETのWebフォームでカレンダーを
VS2005 ASP.NETのWebで 日付のテキストボックスをクリックすると カレンダーが表示され、テキストボックスに 2008/04/25 と表示されるようにするにはどしたらいいでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- garikuma
- ベストアンサー率66% (2/3)
VS2005でカレンダーを表示するだけであれば、ASP.NET AJAX Control Toolkitが使える環境ならば、これ(参考URL)が一番簡単でしょう。 ほかにもいろいろUIを改善できる機能がありますので、ASP.NET AJAX Control Toolkitが入っていないなら一度使ってみるとよいと思いますよ。 ASP.NET AJAX Control Toolkitが何らかの都合で入れられないなら、通常やる方式としては、テキストボックスの横にでもカレンダーらしきイメージを貼ったImageButtonでもおいて、それをクリックしたらそのボタンのイベントハンドラ内でカレンダーコントロールを非表示から表示に変更するようなコードを書けばいいんじゃないですか。
- kero_mio
- ベストアンサー率90% (94/104)
検索ページとはなんでしょう?その検索ページはどういった画面ですか?また、検索ページとあなたが作られている画面との関係は? 検索ページが別窓・別Tabで開くのか、Frame分けして表示しているのか? 検索ページのことは、今ここではじめて聞きましたから、当初の質問には含まれていませんよね? もう少し、質問内容をまとめて明確にしましょう。 (検索ページの詳細、もしくはソース、カレンダーと検索画面の関係など) まず話はそこからです。よろしくお願いします。
- kero_mio
- ベストアンサー率90% (94/104)
CodeBehind型でコードを書くのであれば、*.aspx に + ボタンがあって、それを展開すると、*.aspx.vb というファイルがあるかと思います。 そこに下記のようなコードを書くとできます。 Partial Class Default Inherits System.Web.UI.Page Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged Me.TextBox1.Text = Me.Calendar1.SelectedDate End Sub End Class カレンダーコントロールのCalendar1_SelectionChangedというイベントでできるのでやってみてください。 また、CodeBehind型でコードを書いていない場合は、 別途聞いて下さい。
補足
御回答有難う御座います!! 早速やってみたところ 表示はできたのですが、 欲を言えば 検索ページが開いた時にはカレンダーは表示されず 日付のテキストボックスにカーソルを持ってきたときに 初めてカレンダーが表示されるようにするには どうしたらいでしょうか?
補足
説明不足で大変申し訳御座いませんでした。 まず、Topページ(toppage.aspx)が御座いまして そこに検索ページ飛ぶボタンがあり そこへ新しく移ります。(kensaku.aspx) Frameわけはしていません。 その検索画面にテキストボックスで 開始日時~終了日時という形で入力するように しているのですが いちいち 例:2008/04/30 と入れるのがめんどくさいと要望が出ましたので その日付部分をクリックした時に初めて カレンダーが表示され 日付をインプットできるようにしたいのですが どうしたらいいのでしょうか? 前回お教えいただきました やり方はその検索ページが開いたと同時に カレンダーも表示されてしまいましたので 補足をさせて頂きました。 大変説明がヘタで申し訳御座いませんが 宜しくお願い致します。