Declined
Last Updated: 24 Jul 2025 06:48 by Matthias
Created by: Matthias
Comments: 5
Category: UI for ASP.NET AJAX
Type: Bug Report
0

Hello Progress team,

we're using the HtmlChart and RadialGauge components of your Telerik for AJAX suite and are encountering some inconsistencies between the two.

To be able to use the exportable SVGs of those components server-side, we've extended your classes and added two asp:HiddenFields each, so we can post the SVG and the dimensions back to the server for further processing. (Setting the values is handled in a button OnClientClick JavaScript function, that's irrelevant to this thread.)

As of 2019, when we first introduced the respective feature in our software, the code looked like this:

  • Similar for both components
  • In both cases the additional HiddenFields get added to the Controls-List "OnInit" before the base.OnInit-event.
  • In both cases we had to override the "Render"-function to also render the HiddenField-Controls to the HTML.
public class ExportableRadHtmlChart : RadHtmlChart, INamingContainer
{
    private HiddenField _svgData = new HiddenField();
    private HiddenField _svgDimensions = new HiddenField();
    public ExportableRadHtmlChart()
    {
        _svgData.ID = "SVGData";
        _svgDimensions.ID = "SVGDimensions";
    }

    protected override void OnInit(EventArgs e)
    {
        Controls.Add(_svgData);
        Controls.Add(_svgDimensions);
        
        base.OnInit(e);
    }
    
    protected override void Render(HtmlTextWriter writer)
    {
        writer.RenderBeginTag(HtmlTextWriterTag.Div);

        base.Render(writer);

        _svgData.RenderControl(writer);
        _svgDimensions.RenderControl(writer);

        writer.RenderEndTag();
    }
}

and

public class ExportableRadRadialGauge : RadRadialGauge, INamingContainer
{
    private HiddenField _svgData = new HiddenField();
    private HiddenField _svgDimensions = new HiddenField();
    public ExportableRadRadialGauge()
    {
        _svgData.ID = "SVGData";
        _svgDimensions.ID = "SVGDimensions";
    }

    protected override void OnInit(EventArgs e)
    {
        Controls.Add(_svgData);
        Controls.Add(_svgDimensions);
        
        base.OnInit(e);
    }

    protected override void Render(HtmlTextWriter writer)
    {
        writer.RenderBeginTag(HtmlTextWriterTag.Div);

        base.Render(writer);

        _svgData.RenderControl(writer);
        _svgDimensions.RenderControl(writer);

        writer.RenderEndTag();
    }
}

With this code, we've been running the Telerik product version 2023.1.323.45.

 

Now, we've updated to Telerik product version 2025.1.416.462 and are experiencing the following inconsistencies:

  1. Using the same code as before, the HiddenFields of class "ExportableRadHtmlChart" render twice:


    Whereas previously, they've only rendered once:

    Removing the custom "Render"-function of the class "ExportableRadHtmlChart" resolves this issue. (Having duplicates of those HiddenFields actually causes issues on repeated PostBacks, as two HiddenFields at a time have the same ClientID and thus their values get packed as a comma separated list before transmission to the server, which in turn yields issues when parsing the SVG, which in reality are multiple comma separated SVGs.

    The SVG values are truncated in this view, but the dimensions paint a pretty clear picture, as to what's happening here after 4 PostBacks.) Despite requiring to make this adjustment to our software, we're glad, we can discard that custom "Render"-function.
  2. The "ExportableRadRadialGauge", on the other hand, still only renders the HiddenFields with the custom "Render"-function included. Can we expect a similar fix to the RadialGauge, s.t. we don't require to render the HiddenFields ourselves?

As I'm unsure of the "Theme name", I've put "ControlDefault". But I don't think that should matter too much. If it does, I'll try to find the correct value.

Kind regards,
Matthias

 


    Completed
    Last Updated: 22 Aug 2025 14:12 by ADMIN
    Release 2025 Q3 SP1
    Created by: Amardeep
    Comments: 1
    Category: UI for ASP.NET AJAX
    Type: Bug Report
    0
    My Web Forms application is using a valid (non-expired) telerik-license.txt file / Telerik Licensing Evidence attribute (Script Key). However, the Telerik AJAX controls still display the invalid license watermark along with a yellow banner that appears empty.
    Completed
    Last Updated: 23 Oct 2025 13:41 by ADMIN
    Release 2025 Q4 (Nov)

    The Box Plot Chart throws the following errors when used:

    RadHtmlChart.js:1 Uncaught ReferenceError: series is not defined
    Uncaught (in promise) ReferenceError: series is not defined

    Completed
    Last Updated: 27 Oct 2025 12:44 by ADMIN
    Release 2025 Q4 (Nov)
    Created by: Alex
    Comments: 1
    Category: UI for ASP.NET AJAX
    Type: Bug Report
    0

    I recently upgraded the Telerik version from 2025.1.416 to 2025.3.825, and started getting this NullReferenceException during debugging.

    I noticed I get the error when debugging RadGrid with the Skin property.

     

    Pending Review
    Last Updated: 05 Nov 2025 21:11 by Steve

    The problem is that when you click the buttons, the RadDateRangePicker is filled with the start of 2025-06-01 and the end of 2025-06-30. Then, when you click the button again, a change should occur in the RadDateRangePicker: start of 2025-07-01 and end of 2025-07-31.


    1 step => correct

    2 step => incorrect


    Result
    The first time you click the button, it returns the start date to 06/01/2025 and the end date to 06/30/2025 (this is correct). Clicking it again returns the start date to 06/30/2025 and the end date to 07/31/2025 (this is incorrect).

    Work around
     - Local page
    js code fixed 

    const datepicker = $find('<%= radDateRangePicker2.ClientID %>');
    
    datepicker.set_rangeSelectionStartDate(null);
    datepicker.set_rangeSelectionEndDate(null);


    - Global fixed All controls
    C# in extension control 

    public bool EnableDateResetting
    {
        get => ViewState["EnableDateResetting"] as bool? ?? false;
        set => ViewState["EnableDateResetting"] = value;
    }
    
    public eDateRangePicker() : base()
    {
    	Load += EDateRangePicker_Load;
    }
    
    private void EDateRangePicker_Load(object sender, EventArgs e)
    {
        if (EnableDateResetting)
        {
            RegisterDateResettingScript();
        }
    }
    
    private void RegisterDateResettingScript()
    {
    	string script = $@"
    		Sys.Application.add_load(function() {{
    			const picker = $find('{ClientID}');
    
    			if (picker) {{
    				const origStart = picker.set_rangeSelectionStartDate;
    				const origEnd = picker.set_rangeSelectionEndDate;
    
    				picker.set_rangeSelectionStartDate = function(date) {{
    					if (date !== null && !this._isResetting) {{
    						const currentStart = this.get_rangeSelectionStartDate();
    						const currentEnd = this.get_rangeSelectionEndDate();
                    
    						if (currentStart || currentEnd) {{
    							this._isResetting = true;
    
    							origStart.call(this, null);
    							origEnd.call(this, null);
    
    							this._isResetting = false;
    						}}
    					}}
    
    					return origStart.call(this, date);
    				}};
    
    				picker.set_rangeSelectionEndDate = function(date) {{
    
    					return origEnd.call(this, date);
    				}};
    			}}
    		}});
    	";
    
        ScriptManager.RegisterStartupScript(this, GetType(), $"DateResetting_{ClientID}", script, true);
    }

    Completed
    Last Updated: 04 Dec 2025 12:50 by ADMIN

     

    ChatGPT recommended "Turn off Telerik’s “old” ARIA settings (they are overly strict and often invalid):"

    i removed it and it worked. WTH?

    What i supposed to do now? I added these settings in all our products

     <telerik:RadGrid ID="grdImpacts" runat="server" EnableAriaSupport="true" 
                  style="margin-top:10px;margin-right:25px;margin-left:15px;"
                  ShowStatusBar="true" AutoGenerateColumns="False"
                  Width="650px" skin="WebBlue" 
                  AllowSorting="False" AllowMultiRowSelection="False" AllowPaging="false"
                  OnNeedDataSource="grdMain_OnNeedDataSource">

     

    Unplanned
    Last Updated: 26 Nov 2025 11:31 by ADMIN
    Created by: Yossi
    Comments: 1
    Category: UI for ASP.NET AJAX
    Type: Feature Request
    0

    Hello,

    We see the integration of AI through the AI​​Prompt component within the ASP.Net Core Editor, which enables a smarter and more efficient content creation experience, and we love it. We would be very happy if we could have the same integration for the Ajax Editor as well.

    Thanks in advance
    Yossi
    Completed
    Last Updated: 04 Dec 2025 12:51 by ADMIN

     

    Attached my grid code. Most columns are removed for readability

        <telerik:RadGrid ID="grdChanges" runat="server" Width="1140" 
            skin="WebBlue" style="margin-top:13px; margin-right:13px; outline: 0 !important;"
            ShowFooter="false" AllowSorting="false">      
        <ClientSettings>
                <Scrolling AllowScroll="True" ScrollHeight="487px" UseStaticHeaders="true" />
        </ClientSettings>                      
        <MasterTableView GroupLoadMode="Client" AutoGenerateColumns="False" HeaderStyle-Font-Bold="true"> 
            <HeaderStyle CssClass="InnerHeaderStyle"/>
            <ItemStyle CssClass="InnerItemStyle"/>
            <AlternatingItemStyle CssClass="InnerAlernatingItemStyle"/>
            <CommandItemStyle CssClass="CommandHeaderStyle" />

            <ColumnGroups>
               <telerik:GridColumnGroup Name="Passenger Trips" HeaderText="Passenger Trips" HeaderStyle-HorizontalAlign="Center"/>           
               <telerik:GridColumnGroup Name="Ton Trips" HeaderText="Ton Trips" HeaderStyle-HorizontalAlign="Center"/>                                                         
               <telerik:GridColumnGroup Name="Miles Per Trip" HeaderText="Miles Per Trip" HeaderStyle-HorizontalAlign="Center"/>           
               <telerik:GridColumnGroup Name="Miles Per Hour" HeaderText="Miles Per Hour" HeaderStyle-HorizontalAlign="Center"/>                          
            </ColumnGroups> 

            <Columns> 

                <telerik:GridNumericColumn DataField="MilesPerHour_Proj" HeaderText="Project"  
                                           ColumnGroupName ="Miles Per Hour"
                                           DataFormatString="{0:N1}" DecimalDigits="0"
                                           HeaderStyle-HorizontalAlign="Center" 
                                           HeaderStyle-Width="60px" ItemStyle-BackColor="White"
                                           ItemStyle-HorizontalAlign="Right" AllowRounding="true" />

                <telerik:GridNumericColumn DataField="MilesPerHour_Base" HeaderText="Base"  
                                           ColumnGroupName ="Miles Per Hour"
                                           DataFormatString="{0:N1}" DecimalDigits="0"
                                           HeaderStyle-HorizontalAlign="Center" 
                                           HeaderStyle-Width="60px" ItemStyle-BackColor="White"
                                           ItemStyle-HorizontalAlign="Right" AllowRounding="true" />                            

                <telerik:GridNumericColumn DataField="MilesPerHourChange" HeaderText="Change"  
                                           ColumnGroupName ="Miles Per Hour"
                                           DataFormatString="{0:N1}" DecimalDigits="0"
                                           HeaderStyle-HorizontalAlign="Center" 
                                           HeaderStyle-Width="60px" ItemStyle-BackColor="White"
                                           ItemStyle-HorizontalAlign="Right" AllowRounding="true" />
            </Columns> 

            <NoRecordsTemplate> 
                <div style="padding: 5px"> 
                    No records available. 
                </div> 
            </NoRecordsTemplate> 

        </MasterTableView> 
        <FilterMenu EnableTheming="True"> 
            <CollapseAnimation Duration="200" Type="OutQuint" /> 
        </FilterMenu> 
    </telerik:RadGrid>