2011-04-26 34 views
0

これは、自分が何をしているのかを知っている人にとっては簡単なことです。Javascriptで更新されたASP.NET TextBoxが表示されない

私は、起動カレンダーボタン、続行ボタン、および日付テキストボックスを持っています。このボタンは、ポップアップウィンドウでJavaScriptカレンダーを起動します。そのカレンダーは、次の日付を使用してReservationDateテキストボックスフィールドに日付を返します。

window.opener.document.getElementById('ctl00_wpm_ShowProduct_ctl10_ReservationDate').value = '<%= CurrentDate %>'; 

私は知っていますが、エレガントではありません。問題は、ブラウザー上でフィールドに日付が表示されても、[続行]ボタンをクリックして.NETスクリプトからアクセスしようとすると、サーバー側のスクリプトで空白と見なされるということです。

ブラウザには表示されていないそのフィールドのテキストを使用するようにサーバーに指示するにはどうすればよいですか?

私はそれがサーバー側とクライアント側の問題であることは十分に知っていますが、そのギャップを埋めるにはどうすればいいですか?

+0

他のコードハットがページライフサイクルの早い段階でその値を上書きしている可能性がありますか? – R0MANARMY

+0

ポストバックを送信する前にフィールドのテキストを見ることができれば、コードの背後に何か間違っていると思います。あなたはおそらく 'IsPostBack'をチェックしていません。そのコードも投稿できますか? – jessegavin

+0

@Chad、彼はコンパイルできないだろう彼は存在しないように空であると見なす – Karel

答えて

3

私はあなたが読み取り専用としてあなたのテキストボックスを設定しているし、それが問題になるようだと思います。 の背後にあるコードでは、このように読み取り専用に設定します。

TextBox1.Attributes.Add("readonly", "readonly"); 

チェックthisを。

+0

これはかなり良い推測です。 – R0MANARMY

+0

華麗なgbs!それは画面上の値を見ることができ、読取り専用ではないと私を捨てました。今週私を狂わせさせる問題を解決してくれてありがとう...来週には新しいものがあると確信しています。 :) – Deverill

1

Page_Loadの値を初期化すると、値が失われます。 私はそれがそういうものでなければならないと思う。

つまり、あなたのPage_Loadで記述します。

if(!Page.IsPostBack) 
{ 
Initialize(); 
} 
+0

これは問題であると私は喜んで賭けるでしょう。しかし、コードを見ることなく伝えるのは難しいです。 – jessegavin

関連する問題