首先一個(gè)實(shí)際的頁(yè)面中往往是會(huì)有較多的內(nèi)容,我們暫時(shí)把它分為A,B兩個(gè)區(qū)域,A區(qū)域是內(nèi)容區(qū)域,我們可以用updatepanel來(lái)實(shí)現(xiàn)異步刷新,B區(qū)域是上傳區(qū)域,我們用div已經(jīng)ifame占位,其中上傳的具體功能實(shí)現(xiàn)我們可以放到C頁(yè)面中,這樣當(dāng)點(diǎn)擊按鈕刷新B區(qū)域的時(shí)候,我們可以向C頁(yè)面?zhèn)髦祦?lái)更新里面的內(nèi)容,同樣當(dāng)我們點(diǎn)擊按鈕刪除或者保存內(nèi)容時(shí),也可以獲取C頁(yè)面中的內(nèi)容,這樣就基本上滿足了無(wú)刷新的感覺。
其實(shí)這種方式并不能稱之為異步刷新,因?yàn)槲覀冎皇怯胕frame來(lái)實(shí)現(xiàn)頁(yè)面的局部刷新從而滿足一種無(wú)刷新的感覺而已。
如果這樣處理的話,asp.net頁(yè)面與iframe之間的傳值就會(huì)成為另一個(gè)問(wèn)題,其實(shí)這個(gè)問(wèn)題如果你知道,就會(huì)比較簡(jiǎn)單,但是不知道的話,就有點(diǎn)無(wú)從下手。
網(wǎng)上可能也提供了很多方案處理傳值,我使用的是使用javascript來(lái)獲取控件從而取到他里面所包含的值。
這個(gè)是獲取iframe f1,以及頁(yè)面C中的 img控件
var objFrame = document.getElementById("f1");
var objPicture = objFrame.contentWindow.document.getElementById("imgPicture");
當(dāng)然你也可以在頁(yè)面C中去獲取父頁(yè)面的控件,從而獲取值
var objHid = this.parent.document.getElementById("")
這個(gè)是包含ifrmae的div
<div id="iconpicture">
<iframe id="f1" style="width: 300px; height: 300px" src="UploadImage.aspx" scrolling="no"
frameborder="0" border="0" frameborder="no"></iframe>
</div>
這個(gè)實(shí)現(xiàn)方式我已經(jīng)在項(xiàng)目中成功的使用了,其實(shí)如果這樣處理主要的難點(diǎn)已經(jīng)不再于具體功能的實(shí)現(xiàn),而在于頁(yè)面的布局在多瀏覽器下的適應(yīng)了。當(dāng)然我提供的這些javascript 是滿足多瀏覽器的。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com