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

1 Answer 1 View
General Discussions Grid
Tien
Top achievements
Rank 1
Tien asked on 26 Aug 2026, 12:13 PM
Starting from July, any page containing a radgrid in the system experiences an automatic continuous reload error that cannot be stopped and adds a suffix like ? ctl75_ctl03_gvResultsChangePage=1, at the same time, Chrome encounters an error, while Firefox and Safari do not. When restarting IIS, the system stops having errors, but a few days later, the errors reoccur. Below is an example of a page with an error.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Display.ascx.cs" Inherits="PSCPortal.Portlets.DMS.Display" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
    <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:RadCodeBlock>

<div class="slider-hoat-dong tab-list tab-khv0">    
    <div id="tracuuvb" class="formdocumentkh">
        <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="Số văn bản" EnableSEOPaging="False" />
            <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>
    </div>
</div>

1 Answer, 1 is accepted

Sort by
0
Rumen
Telerik team
answered on 26 Aug 2026, 12:31 PM | edited on 26 Aug 2026, 12:31 PM

Hi Tien,

Thank you for reporting this problem due to a browser change!

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 JavaScript workaround to solve the issue

<script>
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);
                }
            }
        }
    };
}
</script>

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
General Discussions Grid
Asked by
Tien
Top achievements
Rank 1
Answers by
Rumen
Telerik team
Share this question
or