作者testcrack (testcrack)
看板C_Sharp
標題[問題] 無法記憶輸入的資料
時間Thu May 12 15:41:41 2011
我有一個Button1,處理事件如下:
Response.Write("<script language='javascript'>
alert('您尚未有資料未輸入!');history.go(-1);</script>");
我有兩個Table做對照..
Table1 單純就只放textbox,按了上面那個Button,剛剛輸入的都還在
Table2 有放多個panel,架構如下:
Table2只包含一個UpdatePanel,其內還包含了一個panel,ID=panel-1
而panel-1裡包含了panel-1-1、panel-1-2、panel-1-3....數個
每個panel-1-X裡都有一個Textbox
我有一個Button2來模擬新增欄位的方式,使panel-1裡的panel依點選次數顯示
點選次數也以session來儲存
我的問題是:
點選Button1時,Table1的textbox資料仍在
可是Table2的panel-1-X卻回到第一次載入畫面的'狀態
但是..我用偵錯的方式去看那個panel-1-X的屬性,Visable=true啊!
請問該怎麼處理?
若不用Button1的方式,改用Label來顯示警語也可以..
但是,我在此網頁的下一頁也需要再以返回上一頁的方式回到此網頁
目的是希望剛剛儲存的資料不必再重新輸入
用的方法也是透過javascript,但也是會有前述的問題..
請問該怎麼解決?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.154.204
1F:→ testcrack:最後都把javascript拿掉了... XD 05/13 12:11
2F:推 Eleganse:這裡有3種階段(暫時不討論usercontrol,因為本人不熟) 05/13 13:58
3F:→ Eleganse:(1)所有靜態的控制項(已拖定者) 會自動有viewstate狀態 05/13 13:58
4F:→ Eleganse:當網頁postback時,會保留其viewstate 05/13 14:01
5F:→ Eleganse:(2)想要保留其狀態,可以使用javascript程式碼,來替代 05/13 14:02
6F:→ Eleganse:伺服器端程式碼的作為(假設可以用javascript完成的話) 05/13 14:03
7F:→ Eleganse:(3)如果都不能符合上面2種要求,不僅僅必須網頁重載,甚 05/13 14:04
8F:→ Eleganse:至所對應改變的控制項是動態生成的(用到new),則有一種 05/13 14:05
9F:→ Eleganse:大智若愚的作法,就是把控制項的viewstate標記,儲存在 05/13 14:06
10F:→ Eleganse:靜態控制項中,運用靜態控制項來保留其它動態控制項的 05/13 14:07
11F:→ Eleganse:viewstate 05/13 14:07
12F:→ Eleganse:(4)或者說,答案其實就在usercontrol裡(使用者自訂控制項 05/13 14:14
13F:→ Eleganse:),但因本人不熟,所以這個用法您就可以自已研究一下 05/13 14:15