成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

ASP.NET中UpdatePanel與jQuery怎么同時使用-創(chuàng)新互聯(lián)

這篇文章主要講解了“ASP.NET中UpdatePanel與jQuery怎么同時使用”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ASP.NET中UpdatePanel與jQuery怎么同時使用”吧!

成都創(chuàng)新互聯(lián)公司長期為千余家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為湟源企業(yè)提供專業(yè)的成都網(wǎng)站建設、網(wǎng)站設計,湟源網(wǎng)站改版等技術服務。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

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


復制代碼 代碼如下:


<script type="text/javascript">
$(function(){
$("#ctl00_ContentPlaceHolder1_txtDateFrom").datepicker({
inline: true,
dayNamesMin:["日","一","二","三","四","五","六"],//區(qū)域化周名為中文
firstDay:1,//每周從周一開始
//區(qū)域化月名為中文習慣 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>



運行之后正常:
ASP.NET中UpdatePanel與jQuery怎么同時使用 
可是,運行之后,點擊"查詢",頁面局部刷新,發(fā)現(xiàn)日歷選擇器不出來了,找了很多資料,他們講:
分析1:UpdatePanel
UpdatePanel在應用中主要用于局部刷新,避免整個頁面的Postback。
UpdatePanel實現(xiàn)局部刷新的核心在于MicrosoftAjaxWebForm.js文件,它的局部刷新過程就是將頁面提交到服務端(包 含ViewState),執(zhí)行服務端代碼后異步將在UpdatePanel內(nèi)的HTML進行重新呈現(xiàn)。
在此過程中,頁面的其它部分并沒有狀態(tài)更改。
分析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事件并沒有觸 發(fā),所以文本框元素就失去了原有的特效。
解決方案
我們可以將ready事件中執(zhí)行的代碼提取出來:


復制代碼 代碼如下:


<script type="text/javascript">
function showdatepicker(){
$("#ctl00_ContentPlaceHolder1_txtDateFrom").datepicker({
inline: true,
dayNamesMin:["日","一","二","三","四","五","六"],//區(qū)域化周名為中文
firstDay:1,//每周從周一開始
//區(qū)域化月名為中文習慣 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中也放入這個函數(shù)


復制代碼 代碼如下:


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



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


復制代碼 代碼如下:


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



最后,再在<body>中加上load()函數(shù),即:


復制代碼 代碼如下:


<body onload="load()">



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

感謝各位的閱讀,以上就是“ASP.NET中UpdatePanel與jQuery怎么同時使用”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對ASP.NET中UpdatePanel與jQuery怎么同時使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設公司,,小編將為大家推送更多相關知識點的文章,歡迎關注!

網(wǎng)站欄目:ASP.NET中UpdatePanel與jQuery怎么同時使用-創(chuàng)新互聯(lián)
當前URL:http://jinyejixie.com/article22/ceodcc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、自適應網(wǎng)站、軟件開發(fā)、App開發(fā)、商城網(wǎng)站、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設
建湖县| 白城市| 崇礼县| 黎平县| 通化县| 鹰潭市| 南汇区| 乌拉特中旗| 夏河县| 来安县| 香港| 通江县| 喜德县| 汝阳县| 庆云县| 上虞市| 和林格尔县| 望江县| 丰镇市| 大英县| 五常市| 贵港市| 肥东县| 永福县| 屏东市| 东至县| 垫江县| 高雄县| 正阳县| 平乐县| 富蕴县| 固安县| 奉贤区| 尚志市| 南昌县| 栾川县| 济源市| 垦利县| 沙坪坝区| 苗栗市| 嵩明县|