簡體   English   中英

彈出式圖表在Ajax UpdatePanel中不起作用

[英]Popup chart not working inside Ajax UpdatePanel

我已經成功構建了一個彈出圖表,將鼠標懸停在GridView中的圖像上時會顯示該圖表。 問題是,如果將Gridview放在UpdatePanel中,則在更改頁面上的下拉菜單中的選擇后頁面更新后,彈出窗口將不會顯示。

請參見下面的代碼示例

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
  <asp:GridView ID="Table0" runat="server" AutoGenerateColumns="False" DataSourceID="SQL">
    ....
  </asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

我在以下兩頁中有完整的代碼:

我嘗試在另一個網站( http://www.aspsnippets.com/Articles/jQuery-Plugins-not-working-after-ASPNet-AJAX-UpdatePanel-Partial-PostBack-or-when-Asynchronous-request- is-over.aspx

    //On UpdatePanel Refresh
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prm != null) {
        prm.add_endRequest(jQuery(document).ready(function (sender, e) {
            if (sender._postBackSettings.panelsToUpdate != null) {
        $('.HoverDesc').hover(function () {
            $(this).find('p').show(200);
        }, function () {
            $(this).find('p').hide(100);
        });
            }
        }));
    };

但是我收到一條錯誤消息:

錯誤:無法獲取屬性“ panelsToUpdate”的值:對象為null或未定義

我還嘗試了以下操作,該操作不會導致任何錯誤,但似乎不起作用:

    //On UpdatePanel Refresh
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prm != null) {
        prm.add_endRequest(function (sender, e) {
            if (sender._postBackSettings.panelsToUpdate != null) {
                jQuery(document).ready(function ($) {
                    $('.HoverDesc').hover(function () {
                        $(this).find('p').show(200);
                    }, function () {
                        $(this).find('p').hide(100);
                    });
                });
            }
        });
    };

任何幫助將不勝感激

謝謝

如果它可以幫助某人,則可以在此頁面的幫助下解決問題:

http://blog.dreamlabsolutions.com/post/2009/02/24/jQuery-document-ready-and-ASP-NET-Ajax-asynchronous-postback.aspx

代碼如下:

<script src="http://code.jquery.com/jquery-1.8.3.min.js" type="text/javascript"></script>
<script type="text/javascript">

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args) {
        if (args.get_error() == undefined) {
            alertTest();
        }
    }

    function alertTest() {
        jQuery(document).ready(function ($) {
            $('.HoverDesc').hover(function () {
                $(this).find('p').show(200);
            }, function () {
                $(this).find('p').hide(100);
            });
        });
    }

    alertTest();   

</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM