2011-04-26 53 views
0

對於知道自己在做什麼的人來說,這很容易。通過Javascript未見更新的ASP.NET文本框

我有一個啓動日曆按鈕,一個繼續按鈕和一個日期文本框。該按鈕在彈出窗口中啓動JavaScript日曆。該日曆使用以下內容將日期返回到ReservationDate文本框字段中:

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

我知道,這不是優雅的,但有效。問題是,即使在瀏覽器中我看到了字段中的日期,當我點擊繼續按鈕並嘗試從我的.NET腳本訪問它時,服務器端腳本將其視爲空。

如何告訴服務器使用瀏覽器在該字段中沒有看到的文本?

我足夠清楚知道這是服務器端與客戶端問題,但我該如何彌補這一缺陷?

+0

您是否有任何其他代碼帽子可能會在頁面生命週期的早期覆蓋該值? – R0MANARMY 2011-04-26 15:40:55

+0

如果您在提交回發之前能夠看到字段中的文本,那麼我認爲您的代碼可能存在錯誤。你可能不檢查'IsPostBack'你可以發佈該代碼嗎? – jessegavin 2011-04-26 15:41:57

+0

@Chad,比他無法編譯他認爲它是空的,而不是不可能的 – Karel 2011-04-26 15:42:38

回答

3

我想你已經確立了自己的文本框爲只讀,這似乎是一個問題。 代碼只讀設置像這樣的背後:

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

檢查this

+0

這是一個很不錯的猜測。 – R0MANARMY 2011-04-26 15:43:56

+0

輝煌的gbs!它把我扔掉了,我可以看到屏幕上的價值,並且從不考慮只讀。謝謝你解決這個星期讓我瘋狂的問題......我相信下週會有新的問題。 :) – Deverill 2011-04-26 15:53:56

1

如果初始化Page_Load中的值,該值將會丟失。 我想它一定是這樣的。

所以,你會在你的Page_Load中寫:

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

我願意打賭,這是問題所在。很難說,雖然沒有看到代碼。 – jessegavin 2011-04-26 15:42:52