我正在使用asp.net web應用程序上的引導組件。 它工作正常,但好奇的是,他們在頁面回傳後停止工作。外觀很好,但行爲不是。這就是爲什麼我認爲問題涉及的JavaScript文件。Javascripts not post after postback
例如,一個dorp down按鈕:在回發後,展開操作不起作用。
你知道這可能是什麼原因嗎?
我正在使用asp.net web應用程序上的引導組件。 它工作正常,但好奇的是,他們在頁面回傳後停止工作。外觀很好,但行爲不是。這就是爲什麼我認爲問題涉及的JavaScript文件。Javascripts not post after postback
例如,一個dorp down按鈕:在回發後,展開操作不起作用。
你知道這可能是什麼原因嗎?
如果您使用UpdatePanel進行部分頁面刷新,那麼當通過AJAX更新面板的內容時,通常的$(document).ready(...)/$(...)
東西不會再次觸發,這意味着自定義JS功能(如下拉菜單)即Bootstrap的一部分不會被重新綁定到新元素。
我最常做的是提取我的代碼,設置了JavaScript的事件處理程序和行爲到自己的功能(例如function BindEvents() { ... }
),然後我用更新面板內部下面的代碼,以確保它得到重新運行後的局部回傳(以及在初始頁面加載):
<script type="text/javascript">
Sys.Application.add_load(BindEvents);
</script>
編輯:這是一個基本的提示功能BindEvents()
應該重新初始化的下拉菜單爲您提供:
function BindEvents() {
$('[data-toggle=dropdown]').dropdown();
// other bootstrap binding code - see the combined Bootstrap.js for ideas
}
如果您使用這一行代碼,每次更新面板更新時,endRequestHandler中的任何內容都應該觸發。 ( '下拉菜單,切換'):
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
function endRequestHandler(){
// initialize controls here...
}
放置在網頁的身體下面解決問題
<script type="text/javascript">
$下拉(); </script>
您是否檢查了javascript控制檯以查看是否有任何javascript錯誤?這是我看的第一個地方。 – 2012-04-20 00:27:18
Hi @Dan Herman!沒有錯誤。非常感謝你! – 2012-04-20 00:55:01