<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
        主站蜘蛛池模板: 国产成人免费a在线视频app| 免费大片黄在线观看yw| 亚洲情a成黄在线观看| 亚洲成在人线aⅴ免费毛片| 成年人免费视频观看| 亚洲三级高清免费| 最近免费中文字幕大全| 亚洲色一区二区三区四区| 夜夜爽免费888视频| 亚洲s码欧洲m码吹潮| 凹凸精品视频分类国产品免费| 爱情岛亚洲论坛在线观看| 四虎影视永久免费观看地址| 白白色免费在线视频| 亚洲精品视频在线看| 久久久免费观成人影院| 亚洲爆乳无码一区二区三区| 蜜桃成人无码区免费视频网站| 亚洲色偷偷偷网站色偷一区| 成人免费视频观看无遮挡| 成年大片免费高清在线看黄| 亚洲午夜国产精品无码老牛影视| 无码A级毛片免费视频内谢| 亚洲国产成人久久99精品| 日韩视频在线免费| 中文在线免费观看| 亚洲精品国产成人中文| 男女啪啪永久免费观看网站| 国产精品美女久久久免费 | 午夜国产精品免费观看| 亚洲精品精华液一区二区| 国产亚洲精品a在线观看| 日本片免费观看一区二区| 男人的天堂av亚洲一区2区| 国产亚洲精aa成人网站| 美女视频黄的全免费视频| 处破女第一次亚洲18分钟| 亚洲AV无码乱码在线观看富二代| 成人免费毛片内射美女APP| 一级中文字幕乱码免费| 亚洲美女大bbbbbbbbb|