1

私は次のHTMLコードを持っています:-

       <telerik:RadSplitter ClientIDMode="Static" ID="RadSplitter1" runat="server" PanesBorderSize="0" BorderSize="0"
            Width="100%" Height="100%" Orientation="Vertical" CssClass="radSplitterCss" HeightOffset="98">
            <telerik:RadPane ID="RadPane2" runat="server" Width="293px" Height="100%" BackColor="white"
                CssClass="radLeftPane">
                <uc1:UCMainMenu ID="UCMainMenu1" runat="server" />
            </telerik:RadPane>
            <telerik:RadSplitBar ID="RadSplitbar2" runat="server" Width="1%" CollapseMode="Forward" CssClass="radSplitBar" >
            </telerik:RadSplitBar>
            <telerik:RadPane ID="RadPane3" runat="server" BackColor="white" CssClass="radRightPane" >
                <div class="mainContent">
                    <asp:ContentPlaceHolder ClientIDMode="Static" runat="server" ID="MainContent" />
                </div>
            </telerik:RadPane>
        </telerik:RadSplitter>

UCMainMenu のコードは次のとおりです。

    <asp:UpdatePanel runat="server" ID="MainMenuUP" UpdateMode="Conditional">
        <ContentTemplate>
          <div id="mainMenu">
            <telerik:RadPanelBar runat="server" ID="RadPanelBar1" Width="100%" Height="100%" OnItemDataBound="ItemDataBound" >
                <ExpandAnimation Type="None" />
            </telerik:RadPanelBar>
          </div>
        </ContentTemplate>
    </asp:UpdatePanel>

これで、検索を行うための JQuery がいくつかあり、ページを更新せずにメニューをフィルタリングすることになっています (そのため、UpdatePanel を含めました)。

        $("#reports_textSearch").keyup(function () {
        var textLength = $(this).val().length;
        delay(function () {

            if (textLength == 0) {
                emptySearchString();
            }

            if (textLength > 2) {
                var args = {
                    reportName: document.getElementById('reports_textSearch').value
                };
                doSearchString(args);
            }
        }, 1000);

    });

        function doSearchString(args) {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "Dashboard.aspx/FetchReports",
            data: JSON.stringify(args),
            dataType: "json",
            success: function (data) {
                __doPostBack('#MainMenuUP', data.d);
            },
            error: function (data) {
            }
        });
    }

問題は、Firefox では初めて更新されますが、その後は更新されなくなりますが、IE では常にページ全体が更新されます。

どうすればこれを修正できますか?

あなたの助けと時間をありがとう

- - - - - - - - - -アップデート - - - - - - - - - - - - - - - -------------------------- 問題の 1 つが見つかりました。変更中:-

                    //__doPostBack('#MainMenuUP', data.d);
                __doPostBack('<%= MainMenuUP.ClientID %>', data.d);  

ページの更新がなくなりました。ただし、別の JQUERY コードは現在機能していません:-

        $('.rpItem').on("click", "img", function (e) {
        var text = $(this).siblings('span.rpText').text();
        //e.preventDefault();
        //e.stopPropagation();

        var args = {
            reportName: text
        };
        $.ajax({
            type: "POST",
            url: "Dashboard.aspx/AddToFavourites",
            data: JSON.stringify(args),
            contentType: "application/json;charset=utf-8;",
            success: function (data) {
                //__doPostBack('#MainMenuUP', text);
                __doPostBack('<%= MainMenuUP.ClientID %>', text);
            },
            error: function () {
            }
        });
    });

まだこの問題を解決しようとしています

4

0 に答える 0