プロが教えるわが家の防犯対策術!

VS2005 ASP.NETのWebで
日付のテキストボックスをクリックすると
カレンダーが表示され、テキストボックスに
2008/04/25 と表示されるようにするにはどしたらいいでしょうか?

A 回答 (3件)

VS2005でカレンダーを表示するだけであれば、ASP.NET AJAX Control Toolkitが使える環境ならば、これ(参考URL)が一番簡単でしょう。



ほかにもいろいろUIを改善できる機能がありますので、ASP.NET AJAX Control Toolkitが入っていないなら一度使ってみるとよいと思いますよ。

ASP.NET AJAX Control Toolkitが何らかの都合で入れられないなら、通常やる方式としては、テキストボックスの横にでもカレンダーらしきイメージを貼ったImageButtonでもおいて、それをクリックしたらそのボタンのイベントハンドラ内でカレンダーコントロールを非表示から表示に変更するようなコードを書けばいいんじゃないですか。

参考URL:http://www.atmarkit.co.jp/fdotnet/dotnettips/575 …
    • good
    • 0

検索ページとはなんでしょう?その検索ページはどういった画面ですか?また、検索ページとあなたが作られている画面との関係は?


検索ページが別窓・別Tabで開くのか、Frame分けして表示しているのか?
検索ページのことは、今ここではじめて聞きましたから、当初の質問には含まれていませんよね?

もう少し、質問内容をまとめて明確にしましょう。
(検索ページの詳細、もしくはソース、カレンダーと検索画面の関係など)

まず話はそこからです。よろしくお願いします。

この回答への補足

説明不足で大変申し訳御座いませんでした。
まず、Topページ(toppage.aspx)が御座いまして
そこに検索ページ飛ぶボタンがあり
そこへ新しく移ります。(kensaku.aspx)
Frameわけはしていません。
その検索画面にテキストボックスで
開始日時~終了日時という形で入力するように
しているのですが
いちいち
例:2008/04/30
と入れるのがめんどくさいと要望が出ましたので
その日付部分をクリックした時に初めて
カレンダーが表示され
日付をインプットできるようにしたいのですが
どうしたらいいのでしょうか?

前回お教えいただきました
やり方はその検索ページが開いたと同時に
カレンダーも表示されてしまいましたので
補足をさせて頂きました。

大変説明がヘタで申し訳御座いませんが
宜しくお願い致します。

補足日時:2008/05/01 00:08
    • good
    • 0

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型でコードを書いていない場合は、
別途聞いて下さい。

この回答への補足

御回答有難う御座います!!

早速やってみたところ
表示はできたのですが、
欲を言えば
検索ページが開いた時にはカレンダーは表示されず
日付のテキストボックスにカーソルを持ってきたときに
初めてカレンダーが表示されるようにするには
どうしたらいでしょうか?

補足日時:2008/04/30 09:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!