<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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ASP.NET中UpdatePanel與jQuery同時使用所遇問題解決

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

        ASP.NET中UpdatePanel與jQuery同時使用所遇問題解決

        ASP.NET中UpdatePanel與jQuery同時使用所遇問題解決:今天,在.NET中使用了UpdatePanel,里面的輸入框使用了jQuery的日歷選擇器: 代碼如下:<script type=text/javascript> $(function(){ $(#ctl00_ContentPlaceHolder1_txtDateFrom).datepicker({ inl
        推薦度:
        導讀ASP.NET中UpdatePanel與jQuery同時使用所遇問題解決:今天,在.NET中使用了UpdatePanel,里面的輸入框使用了jQuery的日歷選擇器: 代碼如下:<script type=text/javascript> $(function(){ $(#ctl00_ContentPlaceHolder1_txtDateFrom).datepicker({ inl

        今天,在.NET中使用了UpdatePanel,里面的輸入框使用了jQuery的日歷選擇器:
        代碼如下:

        <script type="text/javascript">
        $(function(){
        $("#ctl00_ContentPlaceHolder1_txtDateFrom").datepicker({
        inline: true,
        dayNamesMin:["日","一","二","三","四","五","六"],//區域化周名為中文
        firstDay:1,//每周從周一開始
        //區域化月名為中文習慣 monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],
        showMonthAfterYear:true,//月份顯示在年后面
        yearSuffix:"年",//年份后綴字符
        changeYear:true,
        changeMonth:true,
        showButtonPanel:true,//顯示按鈕面板
        currentText:"今天",//當前日期按鈕上的文本
        closeText:"關閉",//關閉按鈕上的文本
        dateFormat:"yy-mm-dd"
        });
        }
        </script>

        運行之后正常:
         
        可是,運行之后,點擊"查詢",頁面局部刷新,發現日歷選擇器不出來了,找了很多資料,他們講:
        分析1:UpdatePanel
        UpdatePanel在應用中主要用于局部刷新,避免整個頁面的Postback。
        UpdatePanel實現局部刷新的核心在于MicrosoftAjaxWebForm.js文件,它的局部刷新過程就是將頁面提交到服務端(包 含ViewState),執行服務端代碼后異步將在UpdatePanel內的HTML進行重新呈現。
        在此過程中,頁面的其它部分并沒有狀態更改。
        分析2:jQuery
        jQuery可以通過簡單的代碼對 HTML元素添加各種屬性和事件句柄,我們可以在這里看到官方的文檔:
        Tutorials:How jQuery Works
        http://docs.jquery.com/How_jQuery_Works
        在這里,我們可以得知,jQuery有個重要的事件標記“ready”,一般 對HTML元素的效果和事件句柄都通過這個ready事件來添加,如下:
        $(document).ready(function () {
        $("p").text("The DOM is now loaded and can be manipulated.");
        });
        官方對此的說明是:ready事件會在DOM完全加載后運行一次,OK,至此,問題的原因差不多明白了:
        原因:
        因為在UpdatePanel局部刷新之后,其中的文本框元素被重寫,而此時整個DOM樹并沒有重新加載,所以jQuery的ready事件并沒有觸 發,所以文本框元素就失去了原有的特效。
        解決方案:
        我們可以將ready事件中執行的代碼提取出來:
        代碼如下:

        <script type="text/javascript">
        function showdatepicker(){
        $("#ctl00_ContentPlaceHolder1_txtDateFrom").datepicker({
        inline: true,
        dayNamesMin:["日","一","二","三","四","五","六"],//區域化周名為中文
        firstDay:1,//每周從周一開始
        //區域化月名為中文習慣 monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],
        showMonthAfterYear:true,//月份顯示在年后面
        yearSuffix:"年",//年份后綴字符
        changeYear:true,
        changeMonth:true,
        showButtonPanel:true,//顯示按鈕面板
        currentText:"今天",//當前日期按鈕上的文本
        closeText:"關閉",//關閉按鈕上的文本
        dateFormat:"yy-mm-dd"
        });
        }
        </script>

        在jQuery中也放入這個函數:
        代碼如下:

        <script type="text/javascript">
        $(function(){
        showdatepicker();
        });
        </script>

        然后通過捕獲ScriptManager的EndRequest事件,在每次 UpdatePanel局部刷新之后執行一次jQuery初始化代碼,如下所示:
        代碼如下:

        <script type="text/javascript">
        function load(){
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
        }
        function EndRequestHandler() {
        showdatepicker();
        }
        </script>

        最后,再在<body>中加上load()函數,即:
        代碼如下:

        <body onload="load()">

        這樣,即便UpdatePanel局部刷新,jQuery代碼也能執行。

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

        文檔

        ASP.NET中UpdatePanel與jQuery同時使用所遇問題解決

        ASP.NET中UpdatePanel與jQuery同時使用所遇問題解決:今天,在.NET中使用了UpdatePanel,里面的輸入框使用了jQuery的日歷選擇器: 代碼如下:<script type=text/javascript> $(function(){ $(#ctl00_ContentPlaceHolder1_txtDateFrom).datepicker({ inl
        推薦度:
        標簽: 問題 同時使用 net
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 美女视频黄的全免费视频网站| 91精品手机国产免费| 日本一道本高清免费| 亚洲人成人网站18禁| 日本三级2019在线观看免费| 亚洲电影在线播放| 国产精彩免费视频| 国产亚洲精品VA片在线播放| 成年女人18级毛片毛片免费| 亚洲日韩AV一区二区三区中文| 日韩一区二区在线免费观看| 韩国亚洲伊人久久综合影院| 亚洲人成影院在线观看| 三级网站在线免费观看| 色婷婷亚洲十月十月色天| 永久黄色免费网站| 亚洲最大的成人网| 九月婷婷亚洲综合在线| 最近免费中文字幕中文高清| 91亚洲国产成人久久精品网站| 久久午夜免费视频| 曰批免费视频播放在线看片二| 国产亚洲美女精品久久久| 无码精品一区二区三区免费视频| 亚洲美女在线观看播放| 在线播放免费人成视频在线观看| 真人无码作爱免费视频| 亚洲熟妇无码八AV在线播放| 在线免费观看亚洲| 亚洲精品无码成人片久久不卡| 免费人妻av无码专区| 免费91最新地址永久入口 | 久久精品国产亚洲AV无码娇色 | jlzzjlzz亚洲乱熟在线播放| 无码一区二区三区免费| 最新亚洲春色Av无码专区| 免费**毛片在线播放直播| 国产又黄又爽又大的免费视频| 亚洲综合久久久久久中文字幕| 老司机永久免费网站在线观看| 青青久久精品国产免费看|