[英]Call a Javascript Function after UpdatePanel Postback Issue
我基本上在我的UpdatePanel中有一個文字,它根據我的代碼隱藏中的方法生成一個javascript數組。
在頁面加載時加載我的內容時沒有問題。 但是,如果我嘗試在我的updatepanel中執行搜索更新我的javascript數組文字,我發現在javascript已經觸發后,文字會在回發時更新。
這是我所擁有的基本示例:
<script type="text\javascript">
function BindMyFunction(itemList)
{
//Do something
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<!-- Literal containing generated JS array -->
<asp:Literal ID="ProfileJavscriptOutput" runat="server"></asp:Literal>
<ul id="person-search">
<li><asp:TextBox ID="TxtFirstname" runat="server" Text=""></asp:TextBox></li>
<!-- Update Literal onClick -->
<li><asp:ImageButton CssClass="searchbtn" ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" /></li>
</ul>
<!-- Some jCarousel rendered -->
</asp:UpdatePanel>
我一直在看以下帖子:
ASP.NET - UpdatePanel和JavaScript
但我似乎無法正確地將它應用於我的代碼。
當我不使用UpdatePanel時,它工作正常。 但這是一項要求,以便在執行搜索時頁面位置不會移動。
您可以在Page_Load事件中添加以下代碼:
ScriptManager.RegisterStartupScript(Me.rptGridAlbum, rptGridAlbum.GetType, "scriptname", "somejavascript", True)
這將在AJAX回調后觸發頁面上的javascript。
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm != null) {
prm.add_endRequest(function (sender, e) {
if (sender._postBackSettings.panelsToUpdate != null) {
DisplayCurrentTime(); // here your javascript function
}
});
};
您可以創建一個簡單的Web服務方法,在需要時將javascript數組返回到頁面,並以javascript方法將調用包裝到該Web服務。 調用javascript方法在瀏覽器端刷新內存中的數組將比預期在UpdatePanel
回發上再次解析js數組文字更有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.