• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 国产欧美日韩精品丝袜高跟鞋| 国产精品视频网站你懂得| 久久亚洲国产成人精品性色| 国产精品99无码一区二区| 午夜精品一区二区三区在线观看| 精品偷自拍另类在线观看| 国产精品久久久天天影视香蕉 | 精品国内片67194| 亚洲精品国产成人片| 国产亚洲精品激情都市| 久久亚洲中文字幕精品一区四| 亚洲精品无码乱码成人| 久久精品成人| 国产91精品黄网在线观看| 国产精品久久自在自线观看| 久久九九精品99国产精品| 欧美精品高清在线xxxx| 国产高清在线精品一本大道| 欧美日韩在线亚洲国产精品| 2021久久精品国产99国产精品| 精品无码一区二区三区爱欲九九| 亚洲精品人成无码中文毛片 | 国产999精品久久久久久| 99久久精品国产免看国产一区| 青草国产精品久久久久久| 亚洲精品无码日韩国产不卡?V| 久久这里只有精品视频99| 国产精品免费久久久久久久久| 91精品久久久久久无码| 四虎成人www国产精品| 欧美久久精品一级c片片| 日韩精品一区二区三区四区| 久热这里只精品99re8久| 免费精品99久久国产综合精品| 久久久九九有精品国产| 午夜精品久视频在线观看| 亚洲精品免费在线观看| 一区二区三区精品| 成人精品一区二区三区免费看| 777欧美午夜精品影院| 99精品电影一区二区免费看|