我在使用javascript(jQuery)更新ASP:UpdatePanel時遇到問題。這是我的。ASP.NET:使用jQuery手動更新UpdatePanel
我正在使用隱藏的按鈕技巧,因爲我似乎無法獲得__doPostBack技巧的更新面板的ClientID)。
<asp:UpdatePanel runat="server" ID="pnlUpdate">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnUpdate" />
</Triggers>
<ContentTemplate>
<asp:UpdateProgress runat="server" AssociatedUpdatePanelID="pnlUpdate" DynamicLayout="false" DisplayAfter="100">
<ProgressTemplate>
<img alt="Laddar..." src="img/loader.gif" width="16" height="11"/>
</ProgressTemplate>
</asp:UpdateProgress>
<div style="display:none;">
<asp:Button runat="server" ID="btnUpdate" CommandName="Refresh" CommandArgument='<%# Eval("Id") %>'/>
</div>
<asp:Repeater runat="server" Id="rptrEnquiry">
...
</asp:Repeater>
<%= DateTime.Now.ToString() %>
<a href="javascript:jQuery('#<%= btnUpdate.ClientID %>').trigger('click')&&undefined;">Fire!</a>
</ContentTemplate>
</asp:UpdatePanel>
在處理該btnUpdate(在GridView RowCommand)的rptrEnquiry是反彈壓btnUpdate當代碼隱藏。
如果我直接按按鈕(而不是隱藏的)一切完美(updateprogess顯示和更新的日期和中繼器更新。
但如果我點擊消防鏈接,通過JavaScript觸發按鈕只有日期是更新,但是的UpdateProgress沒有顯示和轉發不反彈。雖然我調試可以看到,反彈代碼被執行,但它的效果是不是在更新。
我試過這種方法,但我有一個gridview中的updatepanel,這給了我「編譯錯誤:pnlUpdate不在當前上下文」當試圖獲得ClientID – 2009-09-22 15:03:53
有點奇怪,updatepanel是唯一的控件,我在gridview中,我可以'在當前的情況下找到? – 2009-09-22 15:11:51
您必須將__doPostBack()錨標記放入與UpdatePanel相同的GridView模板中,才能看到pnlUpdate。 – jrummell 2009-09-22 15:46:56