King的幸福國度-[ASP.NET]在UPDATEPANEL中,引用Jquery會失效 「已解決」
《CGW》資訊and程式書-Jquery Ajax UpdatePanel PostBack後 Jquery失效
在UpdatePanel中插入使用Jquery的日期元件,
在AsyncPostBack之前,
此日期元件都還是有效的,
但在AsyncPostBack之後,
此日期元件卻無法作用,
詳細原因可參考「King的幸國度」裡的說明,
而我是使用「《CGW》資訊and程式書」裡的解決方法來處理問題,
<script type="text/javascript">
function Testfunction () {
//將要使用的jQuery放在這裡
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(Testfunction);
</script>
而上列程式必須放在ScriptManager之後才會有作用。
補充說明:
1. 如果頁面使用ToolkitScriptManager,也是可以使用上述方法進行修正。
2. 進行測試時,發現不一定所有函數都需放在Testfunction中,例如我需到的情形,是下列函式無法使用
function GetStr(srtValue) {
try {
if (srtdate != null) {
return new Date(Date.parse(srtdate));
} else {
return null;
}
} catch (e) {
return null;
}
}
$(window).bind("load", function() {
$(".needfield").each(function() {
alert('這是測試!');
});
});
只有$(window).bind("load", function() { ... }); 需放到Testfunction中,但不是$(window).bind("load", function() { ... });整個放進去,而是將$(".needfield").each(function() { ... });放到Testfunction即可。