- - PR -
ASP.NET AJAX CalendarExtenderのデータの取得について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-01-08 19:01
開発環境は
Windows vista Visual studio 2005 VB SQLServer2005ExpressEdition ajaxcontroltoolkit です。 テキストボックスにCalendarExtenderを使用して日付の入力を し、データベースから検索をしたいのですが、 日付を選択後、「検索」のボタンを押して テキストボックスからデータを取り出すと選択した日付が 入っていなくて初期設定の日付のままになってしまいます。 どのようにすればいいのでしょうか。 基本的なことが分かっていないかもしれませんが、 よろしくお願いします。 <body> <form id="form1" runat="server"> <div> <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnableScriptGlobalization="true" EnableScriptLocalization="true"> </ajaxToolkit:ToolkitScriptManager> <asp:TextBox ID="txtDay" runat="server" ReadOnly="true"></asp:TextBox> <asp:ImageButton ID="ibtnCalender" runat="server" ImageUrl="calendar.png" OnClientClick="return false;"/> <ajaxToolkit:CalendarExtender ID="actCalender" runat="server" Format="yyyy年MM月dd日" TargetControlID="txtDay" PopupButtonID="ibtnCalender"> </ajaxToolkit:CalendarExtender> <asp:ImageButton ID="ibtnSearch" runat="server" ImageUrl="search.png"/> </div> </form> </body> Protected Sub ibtnSearch_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibtnSearch.Click MsgBox(Me.txtDay.Text) '選択した日付が反映されない。 End Sub |
|
投稿日時: 2008-01-08 21:12
txtDay.ReadOnlyをFalseにしたところ、ibtnSearch_Clickで入力日付を参照できました。
TextBox.ReadOnly プロパティ (System.Web.UI.WebControls) http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.textbox.readonly(VS.80).aspx ReadOnly プロパティを true に設定した TextBox コントロールの Text 値は、ポストバックの発生時にサーバーに送信されます。ただし、読み取り専用テキスト ボックスはサーバーで処理されません。これにより、悪意のあるユーザーが読み取り専用の Text 値を変更できなくなります。Text プロパティの値は、サーバー側のコードで変更する場合を除き、次のポストバックが発生するまでビューステートに保存されます。 |
|
投稿日時: 2008-01-09 09:21
Teslaさん、ありがとうございました。
てっきりCalendarExtender側の問題とばかりいろんなところを 探し回っていました。 ReadOnlyをtrueにしたのは誤った入力をさせないように カレンダーからの選択のみにしたかったからですが、 入力チェックを入れるようにして対応しようと思います。 |
1