<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        關于前臺調用后臺事件__doPostBack函數

        來源:懂視網 責編:小采 時間:2020-11-27 22:45:33
        文檔

        關于前臺調用后臺事件__doPostBack函數

        關于前臺調用后臺事件__doPostBack函數:這里需要提一下的是,asp.net編程提供了服務端控件和客戶端控件的說法,其實還是脫離不了HTML的本質,客戶端和服務端需要交互必須要提交,提交有兩種方式get和post,get就是通過向服務端發送連接地址,服務端通過地址的參數來獲得信息的,一般這些參數都是明文
        推薦度:
        導讀關于前臺調用后臺事件__doPostBack函數:這里需要提一下的是,asp.net編程提供了服務端控件和客戶端控件的說法,其實還是脫離不了HTML的本質,客戶端和服務端需要交互必須要提交,提交有兩種方式get和post,get就是通過向服務端發送連接地址,服務端通過地址的參數來獲得信息的,一般這些參數都是明文

        這里需要提一下的是,asp.net編程提供了服務端控件和客戶端控件的說法,其實還是脫離不了HTML的本質,客戶端和服務端需要交互必須要提交,提交有兩種方式get和post,get就是通過向服務端發送連接地址,服務端通過地址的參數來獲得信息的,一般這些參數都是明文,能在瀏覽器地址欄看到。而post是通過表單的input等元素提交到服務端的頁面的,這些數據一般是看不到的。asp.net的服務端控件其實就是對一般的HTML控件做了個包裝,大體是通過隱藏控件提供控制的參數的。 
        這里介紹一個常用的函數_doPostBack,這個函數如果如果是ASP.Net render出來的頁面就是自動產生這個函數,比如有帶autopostback屬性的控件,且其屬性為true的頁面,帶編輯列的datagrid頁面。 
        __doPostBack是通過__EVENTTARGET,__EVENTARGUMENT兩個隱藏控件向服務端發送控制信息的,__EVENTTARGET為要調用控件的名稱,如果要調用的控件是子控件,用''$'或':'分割父控件:子控件,__EVENTARGUMENT是調用事件時的參數 
        下面演示下如何調用后臺事件: 
        1.新建工程 
        2.拖入一個服務端Button1,一個DropDownList1和一個客戶端Button 
        3.設置DropDownList1的AutoPostBack屬性為True,Button1的Visible為False 
        4.雙擊Button1,在事件里寫下Response.Write("hello:" ); 
        5.頁面的HTML里找到客戶端Button,寫入onclick="__doPostBack('Button1','')" 
        6.編譯,運行,點擊Button是不是出現了"Hello" 
        7.查看源代碼,發現里面多了下面行 
        代碼如下:
        <script language="javascript">  
        <!--  
        function __doPostBack(eventTarget, eventArgument) {  
        var theform;  
        if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {  
        theform = document.forms["Form1"];  
        }  
        else {  
        theform = document.Form1;  
        }  
        theform.__EVENTTARGET.value = eventTarget.split("$").join(":");  
        theform.__EVENTARGUMENT.value = eventArgument;  
        theform.submit();  
        }  
        // -->  
        </script> 

        以及兩個隱藏控件 
        代碼如下:

        <input type="hidden" name="__EVENTTARGET" value="" />  
        <input type="hidden" name="__EVENTARGUMENT" value="" /> 

        值得注意的是,_doPostPack的第一個參數是大小寫不敏感的 

        細心的人會發現,在__doPostBack里,提交調用的是theform.submit(),這樣就導致對Form的onsubmit事件校驗失效了,幸好這個問題在asp.net 2.0已經修復了。這里提供一個替換的解決辦法,在Form的最下面插入下面的代碼,這段代碼在保證不管是不是render出來的頁面均有效  
        代碼如下:
        <script language="javascript"> 
        <!-- 
        function __doPostBack_Ex(eventTarget, eventArgument)  

        var theform; 
        if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) { 
        theform = document.forms[0]; 

        else { 
        theform = document.forms[0]; 

        if(!theform.__EVENTTARGET) 
        {  
        theform.appendChild(document.createElement("<input type='hidden' name='__EVENTTARGET'>")); 

        if(!theform.__EVENTARGUMENT) 
        {  
        theform.appendChild(document.createElement("<input type='hidden' name='__EVENTARGUMENT'>"));  

        theform.__EVENTTARGET.value = eventTarget.split("$").join(":"); 
        theform.__EVENTARGUMENT.value = eventArgument; 
        if ((typeof(theform.onsubmit) == "function"))  

        if(theform.onsubmit()!=false) 

        theform.submit();  


        else 
        {  
        theform.submit();  

        function __doPostBack(eventTarget, eventArgument) 

        __doPostBack_Ex(eventTarget, eventArgument); 



        // --> 
        </script> 

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        關于前臺調用后臺事件__doPostBack函數

        關于前臺調用后臺事件__doPostBack函數:這里需要提一下的是,asp.net編程提供了服務端控件和客戶端控件的說法,其實還是脫離不了HTML的本質,客戶端和服務端需要交互必須要提交,提交有兩種方式get和post,get就是通過向服務端發送連接地址,服務端通過地址的參數來獲得信息的,一般這些參數都是明文
        推薦度:
        標簽: 后臺 函數 調用
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 222www在线观看免费| 国产在线观看免费视频软件| 亚洲男人天堂2022| 亚洲综合国产成人丁香五月激情| 国产成人亚洲综合无| 一级特黄aaa大片免费看| 中文字幕a∨在线乱码免费看| 精品亚洲永久免费精品| 久久久久国色AV免费看图片| 久久久久国产亚洲AV麻豆| 久久精品国产亚洲av日韩| 91丁香亚洲综合社区| 国产无限免费观看黄网站| 我想看一级毛片免费的| 亚洲精品成人无限看| 亚洲一区在线免费观看| WWW国产成人免费观看视频| 免费无码A片一区二三区| 亚洲人片在线观看天堂无码| 东方aⅴ免费观看久久av| 久久亚洲精品成人综合| 精品在线免费视频| 国产情侣久久久久aⅴ免费| 婷婷精品国产亚洲AV麻豆不片| 最近免费中文字幕大全免费 | 成人黄色免费网站| 亚洲国产精品日韩| 亚洲影视自拍揄拍愉拍| 免费看片A级毛片免费看| 亚洲av无码潮喷在线观看| 一级免费黄色大片| 亚洲日本中文字幕| 久久免费线看线看| 久久精品国产99国产精品亚洲| 国产成人精品123区免费视频| 亚洲女人初试黑人巨高清| 少妇性饥渴无码A区免费 | 亚洲国产精品嫩草影院| 在线成人爽a毛片免费软件| 亚洲高清视频在线| 中文字幕精品亚洲无线码一区|