[Solved] RadGrid auto reload many time with chrome, but firefox and safari doesn't

1 Answer 1 View
Grid
Tien
Top achievements
Rank 1
Tien asked on 26 Aug 2026, 12:13 PM

My website uses Telerik RadGrid version ASP.NET AJAX. In mid-July, after Google updated Chrome, for a while, the page using RadGrid kept reloading continuously and added ? at the end of the address. ctl00_ContentPlaceHolder1_gvArticleChangePage=1, had to restart IIS to resolve the issue, but it reoccurred after a few days. At the same time, opening it with Safari and Firefox had no issues at all. I suspect that Chrome has updated some feature, so may I ask how to fix.  

All pages using radgrid are affected, for example, one radgrid is currently affected.

<script lang="javascript" type="text/javascript">
        document.title = 'Tra cứu văn bản';
        var dialogMethod;
        function CallWebMethodSuccess(results, context, methodName) {
            switch (methodName) {
                case "Search":
                    {
                        GetDocumentListCallback(results, context, methodName);
                    }
                    break;
            }
        }
        function CallWebMethodFailed(results, context, methodName) {
            alert(results._message);
        }
        function GetDocumentListCallback(results, context, methodName) {

            var index = results.lastIndexOf('_');
            var totalRecord = parseInt(results.substring(index + 1));
            results = results.substring(0, index);
            var grid = $find("<%=gvResults.ClientID%>");
            var tableView = grid.get_masterTableView();
            tableView.set_dataSource(Sys.Serialization.JavaScriptSerializer.deserialize(results));
            tableView.dataBind();
            tableView.set_virtualItemCount(totalRecord);
        }
        function Search(startIndex, rowCount) {
            if (rowCount == -1) {
                var grid = $find("<%=gvResults.ClientID%>");
                var tableView = grid.get_masterTableView();
                rowCount = tableView.get_pageSize();
            }
            var txtNotation = document.getElementById("<%= txtNotation.ClientID %>");
            var txtSubject = document.getElementById("<%= txtSubject.ClientID %>");
            var txtContent = document.getElementById("<%= txtContent.ClientID %>");
            var rcbField = $find("<%=ddlListField.ClientID %>");
            var rcbCategory = $find("<%=ddlDocumentCategory.ClientID %>");
            var rcbCategories = $find("<%=ddlCategories.ClientID %>");
            var rdpBeginDate = $find("<%= rdpBeginDate.ClientID %>");
            var rdpEndDate = $find("<%= rdpEndDate.ClientID %>");
            PSCPortal.Services.DMSSearch.Search(txtNotation.value, txtSubject.value, txtContent.value, rcbField.get_value(), rcbCategory.get_value(), rcbCategories.get_value(), rdpBeginDate.get_textBox().value, rdpEndDate.get_textBox().value, false, startIndex, rowCount, CallWebMethodSuccess, CallWebMethodFailed);
        }
        function gvResults_Command(sender, args) {
            args.set_cancel(true);
            sender.get_masterTableView().clearSelectedItems();
            var currentPageIndex = sender.get_masterTableView().get_currentPageIndex();
            var pageSize = sender.get_masterTableView().get_pageSize();
            var sortExpressions = sender.get_masterTableView().get_sortExpressions();
            var txtNotation = document.getElementById("<%= txtNotation.ClientID %>");
            var txtSubject = document.getElementById("<%= txtSubject.ClientID %>");
            var txtContent = document.getElementById("<%= txtContent.ClientID %>");
            var rcbField = $find("<%=ddlListField.ClientID %>");
            var rcbCategory = $find("<%=ddlDocumentCategory.ClientID %>");
            var rcbCategories = $find("<%=ddlCategories.ClientID %>");
            var rdpBeginDate = $find("<%= rdpBeginDate.ClientID %>");
            var rdpEndDate = $find("<%= rdpEndDate.ClientID %>");
            PSCPortal.Services.DMSSearch.Search(txtNotation.value, txtSubject.value, txtContent.value, rcbField.get_value(), rcbCategory.get_value(), rcbCategories.get_value(), rdpBeginDate.get_textBox().value, rdpEndDate.get_textBox().value, false, currentPageIndex * pageSize, pageSize, CallWebMethodSuccess, CallWebMethodFailed);
        }
        function pageLoad() {

            var gridEl = document.getElementById("<%=gvResults.ClientID%>");
            if (gridEl) {
                var inputs = gridEl.getElementsByTagName("input");
                for (var i = 0; i < inputs.length; i++) {
                    inputs[i].setAttribute("autocomplete", "off");
                }
            }

            var grid = $find("<%=gvResults.ClientID%>");
            if (grid) {
                var tableView = grid.get_masterTableView();
                tableView.set_dataSource("");
                tableView.dataBind();
                tableView.set_virtualItemCount(0);
                Search(0, 10);
            }
        }

        function OnClientSelectedIndexChangedHandler(sender, eventArgs) {
            var inputElement = sender.get_inputDomElement();
            inputElement.style.backgroundColor = "blue";
            inputElement.style.color = "yellow";
            inputElement.style.height = "37px";
            inputElement.style.textAlign = "center";
        }
    </script>

<telerik:RadGrid ID="gvResults" runat="server" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" Skin="Windows7" GridLines="None" AllowMultiRowSelection="True">
            <PagerStyle Mode="NextPrevAndNumeric" PagerTextFormat="Change page: {4} {5} văn bản / {1} trang" PageSizeLabelText="S12" />
            <MasterTableView ClientDataKeyNames="Id" AllowMultiColumnSorting="True" NoMasterRecordsText="Không tìm thấy dữ liệu.">
                <Columns>
                    <telerik:GridBoundColumn HeaderText="Số ký hiệu" DataField="Notation" HeaderStyle-Width="120px">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn HeaderText="Ngày ký" DataField="CreatedDate" HeaderStyle-Width="70px" DataFormatString="{0:dd/MM/yyyy}">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn HeaderText="Trích yếu" DataField="Subject" HeaderStyle-Width="670px" ItemStyle-HorizontalAlign="Left">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn HeaderText="Lượt xem" DataField="LuotXem" HeaderStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn HeaderText="Tải về" DataField="Link" HeaderStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
                    </telerik:GridBoundColumn>
                </Columns>
            </MasterTableView>
            <ClientSettings EnableRowHoverStyle="true">
                <Selecting AllowRowSelect="True" />
                <ClientEvents OnCommand="gvResults_Command" />
            </ClientSettings>
        </telerik:RadGrid>

1 Answer, 1 is accepted

Sort by
0
Rumen
Telerik team
answered on 26 Aug 2026, 12:30 PM

Hi Tien,

Thank you for reporting this problem!

This is a known issue that has already been logged in our feedback portal as RadGrid SEO Paging turns on due to crawler detection and addressed internally. The fix will appear in the next official release, which date is not yet decided but will be in September.

As a temporary workaround you could try the following workaround to solve the issue

let $T = Telerik.Web.UI;

if ($T && $T.Grid) {
    $T.Grid.ChangePageSizeComboHandler = function (sender, args) {
        var item;
        if (args.get_item) {
            item = args.get_item();
        } else if (args.get_index) {
            item = sender.get_items().getItem(args.get_index());
        }

        if (item) {
            var ownerTableViewId = item.get_attributes().getAttribute('ownerTableViewId');
            var newPageSize = null;

            if (sender.get_value) {
                if (sender.get_value()) {
                    newPageSize = sender.get_value();
                } else {
                    newPageSize = sender.get_text();
                }
            } else {
                if (item.get_value()) {
                    newPageSize = item.get_value();
                } else {
                    newPageSize = item.get_text();
                }
            }


            if (ownerTableViewId && newPageSize) {
                var value = parseInt(newPageSize, 10);
                var tableView = $find(ownerTableViewId);

                if (tableView) {
                    var seoUrl = item.get_attributes().getAttribute('seoRedirectUrl');

                    if (seoUrl) {
                        // Comment out or remove this line to prevent the page from redirecting to the SEO URL
                        // window.location.href = seoUrl;

                        return false;
                    }

                    tableView.set_pageSize(value);
                }
            }
        }
    };
}

Once again, thank you again for bringing this to our attention.

 

Regards,
Rumen
Progress Telerik

Stay tuned by visiting our public roadmap and feedback portal pages! Or perhaps, if you are new to our Telerik family, check out our getting started resources
Tags
Grid
Asked by
Tien
Top achievements
Rank 1
Answers by
Rumen
Telerik team
Share this question
or