??????? ASP.NET AJAX當中有一個非常神奇好用的控件 UpdatePanel,這個控件可以幫助我們輕易的達成非同步Postback的功能,讓我們的.aspx頁面上可以直接加入AJAX技術。
??????? 時常有讀者詢問筆者一個問題,在UpdatePabel內所觸發的事件當中,是否可以動態的更新布置在UpdatePanel "外的" 控件?
??????? 一般來說,我們使用UpdatePanel時可會這樣布置:
??????? 平常時候我們會把 "需要以非同步方式動態更新" 的控件放在UpdatePanel里,這時要更新畫面中的TextBox1很簡單,只需要編寫代碼:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
me.TextBox1.Text= " ... "
End Sub
??????? 在UpdatePanel當中的Button1所觸發的Click事件,會以非同步Postback的方式被執行,因此當后端事件Click被執行到,即可更新TextBox1中的值,且頁面不需要換頁(Submit)。
??????? 但是,您用UpdatePanel久了就會發現,我們不可能把所有的控件都放在UpdatePanel當中,如果需要在非同步Postback當中,動態更新UpdatePanel外的控件內容,該如何作呢? 例如:

??????? 當我們想點擊UpdatePanel當中的Button之后,更新位于UpdatePanel外的控件的內容,則需要通過動態Render JavaScript的小技巧:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim js As String
js = "$get('TextBox1').value='...';"
ScriptManager.RegisterStartupScript(Me, GetType(String), "", js, True)
End Sub
??????? 這樣就可以通過動態產生的JavaScript,來更新前端頁面上布置于UpdatePanel外的控件。
其實這個小技巧相當好用,我們也可以用于在非同步Postback過程當中,動態的產生alert窗口,例如:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim js As String
js = "alert('非同步postback過程當中產生的alert窗口...');"
ScriptManager.RegisterStartupScript(Me, GetType(String), "", js, True)
End Sub
??????? 希望這個小技巧對各位使用AJAX技術時有所幫助... ?
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1870893
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
