2008/05/29

程式-UpdatePanel使用心得一

這一篇的UpdatePanel,算是很初級的用法,由這可以釐清基本概念。

要做的事,就是「兩個空格數字相加」

-1000000002

元件名稱說明:TextBox1 +TextBox2 = TextBox3 ,下面放一個TimeLabel1

「UpdatePanel」怎麼用,把元件全部都放入也是一種方法,也可以單單把更新的部份放入就好

程式部份:我在TextBox1,TextBox2內做的事,都是把1,2的值相加放入TextBox3

-1000000003


-1000000004

只放「要更新的元件」時,就要設定,是那一個觸發事件觸發時,要更新。

以TextBox來說,一般的PostBack作法要設兩個屬性: (缺一不可)

1.AutoPostBack=true

2.觸發Click

元件本身不做PostBack的話,你怎麼設UpdatePanel的「Trigger」都沒用。這道理算是很基本的。

 


-1000000005


-1000000006


所有的都放進去,基本上就不用設定什麼了!(見問題二)

 

【補充說明 】

一、UpdateMode:有「always」「conditional」 , 沒寫是使用預設「always」

      「always」:就是都會更新,不關它事情的觸發,也會更新自已!別的UpdatePanel做事,它自已也會做事。

        「conditional」:依自已UpdatePanel本身設定的Trigger來更新。

所以,放在UpdatePanel2的時間顯示元件,就不會自已更新資料!(見問題三)



二、放入UpdatePanel,輸入資料有錯時,它是用JavaScript顯示,把原本的黃頁取代

-1000000007-1000000008

我想,這是和Ajax的底層作法相關,可能底層透過似JavaScript的元件--XMLHttpRequest呼叫的非同步技術..........


【疑問區】

以「狀況一」來說,若在TextBox1的觸發事件裡,除了更改TextBox3之外,又更改某個元件,而這元件

   a.沒在UpdatePanel裡時

   b.在別的UpdatePanel裡時             會發生什麼事?(以後再來測吧)

二、如狀況二,若UpdatePanel1設定 UpdateMode="conditional ",那它還是正常嗎?


三、若Textbox1觸發內的程式去更新TimeLabel1,它會不會有動作?

 

(用了無名小幫手寫網誌,方便的很~不過.....就當我要上傳時=.=a)

  -1000000009

0 意見 :

張貼留言