Completed
Last Updated: 03 Sep 2026 06:14 by ADMIN
Created by: Andreas
Comments: 4
Category: UI for Blazor
Type: Bug Report
3

We have a Blazor project that normally takes 20 seconds to build.

But after upgrading Telerik.Licensing from 1.8.2 to 1.9.0/1 the build takes about 60 seconds.

First we upgraded all telerik references with this effect. Now we downgraded all to the version that is supported by 1.8.2.

In the project, the only change I make is to change the version from 1.8.2 to 1.9.0 or later, then the build goes from 20 seconds to 60 seconds, no other changes made...

I have tried Rebuild, Restarts etc...

In the build detailed output, it is the csc command that takes longer times.

Duplicated
Last Updated: 11 Aug 2026 12:48 by ADMIN
Created by: Jeremi
Comments: 0
Category: UI for Blazor
Type: Bug Report
5
# Bug report: Grid `role="grid"` fails Lighthouse `aria-required-children`
 
**Product:** Telerik UI for Blazor
**Component:** Grid
**Version:** 14.0
**Detection tool:** Google Lighthouse — Accessibility audit (Chrome DevTools)
**Related feedback item:** [#1601296 – "[Accessibility] Ensure elements with ARIA roles have all required ARIA attributes"](https://feedback.telerik.com/blazor/1601296-accessibility-ensure-elements-with-aria-roles-have-all-required-aria-attributes) (currently Unplanned)
 
---
 
## Description
 
The Grid renders its accessibility root (`div.k-grid-aria-root`) with
`role="grid"`, but the required child roles (`rowgroup` / `row`) are not reachable
from it. As a result, the **Lighthouse Accessibility audit** reports a failing
`aria-required-children` audit:
 
> "Elements with an ARIA [role] that require children to contain a specific
> [role] are missing some or all of those required children."
 
Lighthouse's Accessibility category is powered by axe-core, so this corresponds
to the axe rule **`aria-required-children`** (WCAG 2.1 SC 1.3.1, Level A).
 
This appears to be the same underlying problem tracked in #1601296. This report
adds a clean, Lighthouse-based reproduction in case it is useful for
prioritization.
 
## Steps to reproduce
 
1. Create a page with a `<TelerikGrid>` bound to any data source (a few rows is
   enough).
2. Open the page in Chrome.
3. Open DevTools → **Lighthouse** tab.
4. Select the **Accessibility** category and click **Analyze page load**.
5. In the report, expand the failing **`aria-required-children`** audit.
## Expected behavior
 
The Lighthouse Accessibility audit passes. The element carrying `role="grid"`
exposes valid `rowgroup` / `row` children (or the intermediate wrapper elements
carry `role="presentation"` so the grid → row ownership chain is preserved).
 
## Actual behavior
 
The `aria-required-children` audit fails. Lighthouse flags the grid root and
cites `div.k-grid-content` as the element interrupting the required-children
chain.
 
**Rendered markup (abridged):**
 
```html
<div class="k-grid-aria-root" role="grid" aria-rowcount="52" aria-label="Data table">
  ...
  <div class="k-grid-content" tabindex="-1">   <!-- no role; sits directly on the <table> -->
    <table class="k-grid-table">
      <tbody>
        <tr role="row"> ... </tr>
      </tbody>
    </table>
  </div>
</div>
```
 
## Analysis
 
`role="grid"` must own `rowgroup` / `row` descendants. In the rendered DOM the
rows live inside a native `<table>` (implicit `role="table"`), and the wrapper
`<div>`s between the grid root and the table (`k-grid-container`,
`k-grid-content`) carry no ARIA role. This breaks the `grid → row` ownership
chain that axe-core (and therefore Lighthouse) requires. `k-grid-content` is
specifically cited because its `tabindex="-1"` makes it a focusable,
non-transparent node sitting directly above the table.
 
Need More Info
Last Updated: 16 Jul 2026 06:58 by ADMIN
# Telerik UI for Blazor — TabStrip bug report

Two related defects in `TelerikTabStrip` when the tab headers wrap onto multiple rows.
Filed for GLS (Governance & Legislative System), the resolution submission form
(`/submit-resolution`), which has 12 tabs.

## Environment

- **Telerik UI for Blazor:** v14 (please fill in the exact build number from your
  `LegislationApplications` package reference before submitting)
- **.NET:** 10.0
- **Render mode:** Blazor **Server** (Interactive Server), no WebAssembly
- **Browser:** reproduced in Chromium-based browsers on a wide (≥1200px) window
- **Component config (abridged):**
  ```razor
  <TelerikTabStrip @bind-ActiveTabId="ActiveTabId"
                   PersistTabContent="true"
                   OverflowMode="TabStripOverflowMode.None"   @* wide screens *@
                   ScrollButtonsPosition="TabStripScrollButtonsPosition.Split"
                   ScrollButtonsVisibility="TabStripScrollButtonsVisibility.Auto">
      @* 12 TabStripTabs; several use Visible="@boolExpr" (conditionally shown);
         most use a <HeaderTemplate> that renders the title plus an optional indicator icon *@
  </TelerikTabStrip>
  ```
- On a wide window with `OverflowMode="None"`, the 12 tab headers **wrap onto two rows**
  (row 1 ends at "Budget Impact"; row 2 begins at "OGR Consultation").

---

## Bug 1 — Wrapped tabs: activating a tab at the wrap boundary shows the WRONG content panel

### Repro
1. Open a form whose tab headers wrap to two rows (wide window, `OverflowMode="None"`, enough
   tabs to force a second row).
2. Activate the tab that sits at the **end of the first row** (its immediate left neighbour is on
   the same row; its right neighbour is on the next row). In our form: activate **External
   Documents**, then click **Budget Impact** (last tab on row 1).

### Expected
Budget Impact’s content panel is displayed.

### Actual
- The Budget Impact **header** receives focus/active styling, but the **content area still shows
  the previous tab’s panel** (External Documents).
- It is **deterministic** from the left-neighbour: a 2-second pause before clicking does **not**
  help.
- **Workarounds that do make it switch:** double-clicking the tab, or first activating a tab on a
  **different row** (e.g. OGR Consultation) and then clicking Budget Impact once.

### Proof the server/binding side is correct (it is a client-side rendering defect)
We instrumented the `ActiveTabId` setter and component renders. On the failing single click:
```
ActiveTabId 'tab-submitter'          -> 'tab-external-documents'   (click External)
RENDER  activeTab=tab-external-documents
ActiveTabId 'tab-external-documents' -> 'tab-budget-impact'        (click Budget Impact)
RENDER  activeTab=tab-budget-impact
(no further activity)
```
So `ActiveTabIdChanged` fires with the correct id, `ActiveTabId` becomes `tab-budget-impact`, and
the component re-renders exactly once with the correct active tab — yet the browser keeps showing
the External Documents content panel. The subsequent “rescue” clicks that fix the display produce
**no** server activity at all, confirming the mismatch is purely in the component’s client-side
content-panel switching.

### Confirmed trigger: the wrapping
Forcing the tab headers onto a **single row** with CSS (no other change) makes the bug disappear
entirely — every tab activates its correct panel on the first click:
```css
.k-tabstrip-items-wrapper { flex-wrap: nowrap; overflow-x: auto; }
.k-tabstrip-items         { flex-wrap: nowrap; }
```
This is not an acceptable final fix for us (the product requires the wrapped, all-tabs-visible
layout), but it isolates the cause: **`TelerikTabStrip` mismaps the active content panel when its
headers wrap to more than one row.**

---

## Bug 2 — `OverflowMode="Scroll"` throws an exception for this configuration

### Repro
Set `OverflowMode="TabStripOverflowMode.Scroll"` (instead of `None`) on the same TabStrip
(12 tabs, `PersistTabContent="true"`, several tabs with `Visible="@expr"` including one that is
currently `Visible="false"`, and `<HeaderTemplate>`s).

### Actual
The page throws an unhandled exception on load / render (Blazor error UI). Reverting to
`OverflowMode="None"` removes the exception.

> **To complete this section before filing:** capture the exact exception type, message, and the
> top Telerik stack frames from the browser DevTools console or the app’s server log (Aspire
> dashboard → `legislationwebapp` resource) while `OverflowMode="Scroll"` is active. We suspect it
> relates to scroll-width measurement of a `Visible="false"` tab and/or `HeaderTemplate` tabs, but
> the stack trace will confirm.

---

## Why this matters / requested outcome

- Bug 1 forces a poor workaround (users must double-click or approach tabs from a specific
  direction) or a UX compromise (single-row scrolling instead of the required wrapped layout).
- Bug 2 blocks the natural single-row fix (`OverflowMode="Scroll"`).

We would like `TelerikTabStrip` to either (a) correctly map the active content panel when headers
wrap, or (b) provide a supported single-row/wrapping option that does not throw for this
configuration.
Declined
Last Updated: 24 Jun 2026 05:34 by ADMIN

Issue: Opening and closing a window will cause the window to reopen with each following OnClick. This seems to have been introduced with the upgrade to .net10

Code: Below is an example used on the basic Telerik Blazor template. Copy this and replace Home.razor with it.

@page "/"

<PageTitle>Telerik Blazor App | Home</PageTitle>

<div id="home-page">
    <HomeSvg />

    <h1>Hello, Telerik UI for Blazor!</h1>

    <p>Welcome to your new Telerik Blazor app.</p>

    <TelerikButton OnClick="OpenWindow1">Click Here First</TelerikButton>
    <TelerikButton OnClick="OpenWindow2">Click Here Second</TelerikButton>
    <TelerikButton OnClick="@(async () => {await Task.Delay(100);})">Unrelated OnClick</TelerikButton>


</div>

<TelerikWindow Visible="ShowWindow1">
    <WindowActions>
        <WindowAction OnClick="CloseWindow1" Name="Close"></WindowAction>
    </WindowActions>
    <WindowContent>
        <span>Moving window now will help find this window in next step, but not necessary to replicate bug.</span>
        <br />
        <span>Close window using 'X'.</span>
    </WindowContent>
</TelerikWindow>

<TelerikWindow Visible="ShowWindow2">
    <WindowActions>
        <WindowAction OnClick="CloseWindow2" Name="Close"></WindowAction>
    </WindowActions>
    <WindowContent>
        <span>Window 1 shouldn't be appearing now, but it it is. Window 1 may be behind this window if you didn't drag in previous step.</span>
        <br />
        <span>If you close these windows, and click the 'Unrelated OnClick' button, both of these windows will reappear, despite just firing Task.Delay(100)</span>
    </WindowContent>
</TelerikWindow>

<style>
    #home-page {
        margin-left: auto;
        margin-right: auto;
        max-width: max-content;
        text-align: center;
        font-size: var(--kendo-font-size-xl);
    }

    @@media (min-height: calc(56px + 50px + 400px)) {
        /* header + footer + home page container*/
        #home-page {
            margin-top: calc(50vh - 28px - 25px - 200px);
        }
    }
</style>

@code {
    public bool ShowWindow1 { get; set; }
    public bool ShowWindow2 { get; set; }

    public async Task OpenWindow1()
    {
        ShowWindow1 = true;
    }

    public async Task OpenWindow2()
    {
        ShowWindow2 = true;
    }

    public void CloseWindow1()
    {
        ShowWindow2 = false;
        StateHasChanged();
    }

    public void CloseWindow2()
    {
        ShowWindow2 = false;
    }
}


Completed
Last Updated: 18 Jun 2026 10:47 by ADMIN

If the Height parameter is not specified, in the Gantt tree list, every line after the number of lines of the initial display are not shown.

 

The steps are easy to reproduce:

Start from the official Gantt Demo in the REPL and simply remove the Height parameter from TelerikGantt.

If you do this, you will see that opening the children of the first and only element in the tree list will show everything correctly in the Timeline part (if no mistake) but doesn't show the children lines in the TreeList part.

 

Therefore, I believe, the Height parameter should become mandatory until we can allow the height of the Gantt to be dynamic without rendering issues.
Completed
Last Updated: 21 May 2026 06:46 by ADMIN
Release 14.0.0

The following exception occurs:

Microsoft.JSInterop.JSDisconnectedException: JavaScript interop calls cannot be issued at this time. This is because the circuit has disconnected and is being disposed.

............

at Telerik.Blazor.Components.Common.Loader.ComponentLoaderContainer.DisposeAsync()

When the user closes the browser and the web page contains any of the below components:

  • DockManager
  • FileManager
  • Grid
  • ListView
  • PdfViewer
  • PivotGrid
  • Scheduler
  • SpreadSheet
  • TreeList

 

Duplicated
Last Updated: 18 May 2026 14:01 by ADMIN
Created by: Patrik
Comments: 1
Category: UI for Blazor
Type: Bug Report
0

Hi

I have an TelerikMenu with a mix of internal and external links. The menu is using Data binding to a list of menu items. When using the mouse and clicking the external links it works as expected.
However when using the tab to set focus into the menu, then using the arrow keys to navigate to a menu item then hit Enter key, the link opens in the current tab, even if it set to target="_blank".

In this REPL the Enter key does nothing when at Telerik/Documentation and hitting Enter: 
https://blazorrepl.telerik.com/mgYflMuM27MjqZrD54

In my case, the URL is opened in the current tab, instead of a new tab.
I'm using ItemTemplade to render the links and my template for external links looks like this:

if (item.IsExternal) { <ahref="@item.Url"class="@cssClass"target="_blank"rel="noopener noreferrer" @onclick="() => { if (isMobile) CloseMobileMenu(); }" @onclick:stopPropagation="!isMobile"> @item.Text <TelerikSvgIconIcon="@SvgIcon.HyperlinkOpen"Size="@ThemeConstants.SvgIcon.Size.Small"Class="@(isMobile ? "ms-2" : "ms-2")"/></a> }

 

The rendered HTML looks like this:

    <li data-id="595df6d2-0580-42fd-999d-37f73afedcb6" tabindex="-1" class="k-item k-menu-item " role="menuitem" aria-live="polite"><span class="k-link k-menu-link "><div class="d-flex align-items-center justify-content-between w-100 px-2"><a href="https://theurl.com/an/l/45" class="k-menu-link-text" target="_blank" rel="noopener noreferrer">Go to external page<!--!-->
                    <!--!--><span class="telerik-blazor ms-2 k-icon-sm k-icon k-svg-icon k-svg-i-hyperlink-open" aria-hidden="true"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!--><path d="M32 480h448V256h-32v192H64V64h192V32H32zM320 32l56.9 56.9.5.5L224 242.7l45.3 45.3 153.3-153.4L480 192V32z"></path></svg></span></a></div></span></li>


I'd rather nog involve js-hacks to solve this issue. Is this a known bug or am i doing it wrong?

Completed
Last Updated: 11 May 2026 08:23 by ADMIN

With an active Blazor trial, the Telerik Document Processing NuGet packages are not found in the Visual Studio Package Manager and in the Terminal as well:

 

Completed
Last Updated: 16 Apr 2026 14:49 by ADMIN
Release 2026 Q2
Created by: Jeremi
Comments: 2
Category: UI for Blazor
Type: Bug Report
0

Description

When the dropdown is open, the button's aria-controls attribute references a value that matches the popup's data-id, not its actual id. Since aria-controls must point to an element's id, the attribute is invalid and no element in the DOM matches the reference, breaking the accessible relationship between the button and its popup. 

Button renders:

aria-controls="50dc5df2-b83e-41bd-8c34-98470aba77c6"

Popup element has:

data-id="50dc5df2-b83e-41bd-8c34-98470aba77c6"
id="8630d4e4-2f22-4eaf-b96c-7cae113b70ed"

Steps to Reproduce

  1. Add a TelerikDropDownButton using the standard Telerik example (source below).
  2. Open the dropdown and inspect the HTML or run a Lighthouse audit.
<TelerikDropDownButton Icon="@SvgIcon.Share" OnClick="@(()=>OnItemClick("Primary"))">
    <DropDownButtonContent>Share</DropDownButtonContent>
    <DropDownButtonItems>
        <DropDownButtonItem Icon="@SvgIcon.Facebook" OnClick="@(()=>OnItemClick("Facebook"))">Facebook</DropDownButtonItem>
        <DropDownButtonItem Icon="@SvgIcon.Twitter" OnClick="@(()=>OnItemClick("Twitter"))">Twitter</DropDownButtonItem>
        <DropDownButtonItem Icon="@SvgIcon.Linkedin" OnClick="@(()=>OnItemClick("Linkedin"))">Linkedin</DropDownButtonItem>
        <DropDownButtonItem Icon="@SvgIcon.Reddit" OnClick="@(()=>OnItemClick("Reddit"))">Reddit</DropDownButtonItem>
    </DropDownButtonItems>
</TelerikDropDownButton>


Unplanned
Last Updated: 16 Mar 2026 09:27 by ADMIN

Description

When the dropdown is open, the input's aria-activedescendant attribute references an id that does not exist in the DOM. Since aria-activedescendant must point to the id of an actually rendered option element, the attribute is invalid and assistive technologies cannot determine which option is currently active.

Input renders:

aria-activedescendant="b45bcb14-4093-4de8-ad31-cae8ec8ca9c4"
None of the rendered <li> option elements have this id.

Steps to Reproduce

  1. Add a TelerikMultiSelect using the standard Telerik example (source below).
  2. Open the dropdown and inspect the HTML or run a Lighthouse audit.
<TelerikMultiSelect Data="@Hobbies"
@bind-Value="@SelectedHobbyIds"
ValueField="@nameof(HobbiesDto.HobbyId)"
TextField="@nameof(HobbiesDto.HobbyName)"
Placeholder="Select your favourite sport..."
Id="multiselect"
Width="100%"
Rounded="@ThemeConstants.DropDownList.Rounded.Medium"
FillMode="@ThemeConstants.AutoComplete.FillMode.Outline"
TagMode="@MultiSelectTagMode.Single"
ShowClearButton="false">
    <MultiSelectSettings>
        <MultiSelectPopupSettings Height="@CustomThemeConstants.Multiselect.PopupHeight" MaxHeight="@CustomThemeConstants.Multiselect.PopupMaxHeight" />
    </MultiSelectSettings>
</TelerikMultiSelect>

@code {
    public List<int> SelectedHobbyIds { get; set; } = [];

    public IEnumerable<HobbiesDto> Hobbies { get; set; } = new List<HobbiesDto>()
    {
        new HobbiesDto(1, "Basketball"),
        new HobbiesDto(2, "Golf"),
        new HobbiesDto(3, "Baseball"),
        new HobbiesDto(4, "Table Tennis"),
        new HobbiesDto(5, "Volleyball"),
        new HobbiesDto(6, "Football"),
        new HobbiesDto(7, "Boxing"),
        new HobbiesDto(8, "Badminton"),
        new HobbiesDto(9, "Cycling"),
        new HobbiesDto(10, "Gymnastics"),
        new HobbiesDto(11, "Swimming"),
        new HobbiesDto(12, "Wrestling"),
        new HobbiesDto(13, "Snooker"),
        new HobbiesDto(14, "Skiing"),
        new HobbiesDto(15, "Handball"),
    };

    public class HobbiesDto
    {
        public int    HobbyId   { get; set; }
        public string HobbyName { get; set; } = string.Empty;

        public HobbiesDto() { }

        public HobbiesDto(int id, string name)
        {
            HobbyId = id;
            HobbyName = name;
        }
    }
}


Declined
Last Updated: 13 Feb 2026 07:10 by ADMIN
Created by: Thomas
Comments: 1
Category: UI for Blazor
Type: Bug Report
1

Hello

I notice that zoom on chart with numeric values make the axis values with a lot of decimal and didn't find a way to round them.

We can see it directly in the documentation here

Is there a way to keep the axis to rounded value ?

 

Thank you
Regards,
Thomas

 

Completed
Last Updated: 03 Feb 2026 15:18 by ADMIN
Created by: Ted
Comments: 1
Category: UI for Blazor
Type: Bug Report
0
Where is the latest Telerik for Blazor Accessibility Conformance Report? The one on this page is over two years old: https://www.telerik.com/blazor-ui/documentation/accessibility/compliance#accessibility-conformance-report

Most organizations follow a 12-month cycle or update their ACR whenever there's a significant product version change, whichever comes first, to remain in good standing.

Please update the latest Telerik for Blazor Accessibility Conformance Report for the current version of Telerik for Blazor. We need these reports for the US States that use our software and Telerik for Blazor. Without current, valid VPATs, we will have to discontinue use of Telerik for Blazor.

DevExpress for Blazor has a current VPAT here for example (latest report Dec, 2025): https://www.devexpress.com/products/net/accessibility/ACR-DevExpress-Blazor-25.2.pdf
Declined
Last Updated: 30 Jan 2026 13:52 by ADMIN

The TelerikPanelBar component is using Right and Left arrows on keyboard to opening and closing each tab. 
https://demos.telerik.com/blazor-ui/panelbar/keyboard-navigation

When the page is zoomed to 200%, it gets a horizontal scrollbar, which is normally controlled with the left and right arrow keys on keyboard. However, these keys are assigned to opening and closing the TelerikPanelBar component, which makes it impossible to scroll the page horizontally while we have Tab on TelerikPanelBar. Is there any workaround that would allow horizontal scrolling with the left and right arrow keys on keyboard at this zoom level? Maybe it’s possible to change TelerikPanelBar behavior and opening and closing it by different keys?

Completed
Last Updated: 19 Jan 2026 09:14 by ADMIN
Release 2026 Q1 (Feb)
Created by: Sascha
Comments: 7
Category: UI for Blazor
Type: Bug Report
10

In our application we use some large datasets and present them in a TelerikGrid. We use WPF + Blazor Hybrid and noticed, that in some cases the memory usage of the Web View process grows up to some gigabytes.

Here a screenshot of the task manager with a lot of RAM usage for the web view.

Here a screenshot of the detached DOM elements after a two navigations. The container divs are not garbage collected.

I tracked down the issue to come from the TelerikGrid, because when I remove it from the pages, everything runs fine. I also removed all GridColumns and the issue is still present. In the developer tools I noticed that one of the parent div elements remains in memory every time I navigate back and forth.

I also created a blank Blazor WebAssembly Standalone application and added a simple instance of the grid. Here, the issue is also present. I attach the one blazor page that causes the issue.

I've tested all major versions from 5.1 upwards, every version is affected.

Completed
Last Updated: 15 Jan 2026 08:26 by ADMIN
Created by: Jamie
Comments: 6
Category: UI for Blazor
Type: Bug Report
1

After upgrading to 12.0.0, the Content does not change when clicking tabs. I always see the Content of the first tab.

My project targets .net8.

Completed
Last Updated: 12 Nov 2025 10:57 by ADMIN
Release 12.0.0

Using the TelerikTabSrip, If the first tab is not visible when rendered, the tab content for all tabs doesnt render.

Replicated here https://blazorrepl.telerik.com/cpEWGOPk22VW8be254

If you change the code to make the first tab visible, all is well.

You can make other tabs invisible, and all is well.

 

 
Unplanned
Last Updated: 10 Nov 2025 10:33 by ADMIN
The IsEntityFrameworkProvider method in the DataSource package returns false when the provider is Entity Framework Core. 
Declined
Last Updated: 16 Oct 2025 07:41 by ADMIN

When a TelerikComboBox is defined inside a window and the ContainmentSelector attribute is set for that window, the ComboBox exhibits erratic behavior: it sometimes fails to open, and selections from the dropdown may not register. Overall, the ComboBox does not function reliably in this configuration.

See attached video for current behavior.

If the ContainmentSelector attribute is removed, TelerikComboBox works as expected.

See attached example to reproduce the issue.

Unplanned
Last Updated: 06 Oct 2025 14:21 by Sadik

Description

Affected components: those inheriting from TelerikInputBase (e.g., TelerikDatePicker). When an exception is thrown inside an async Task event handler for the OnChange, OnBlur, OnOpen, and ValueChanged events, the exception is completely and silently swallowed. The exception is not caught by ErrorBoundary.

Related: #6333, #12364

Steps To Reproduce

  1. Use a standard ErrorBoundary in MainLayout.razor.
<ErrorBoundary>
    <ChildContent>
        @Body
    </ChildContent>
    <ErrorContent>
        <p class="error">An unhandled error has occurred.</p>
    </ErrorContent>
</ErrorBoundary>
  1. Declare a TelerikDatePicker and bind an async Task method to the ValueChanged or OnChange event.
<TelerikDatePicker Value="@DatePickerValue"
                   ValueChanged="@((DateTime inputDate) => OnDatePickerValueChanged(inputDate))">
</TelerikDatePicker>


<TelerikButton OnClick="@(() => throw new Exception("Exception from button"))">Click to test ErrorBoundary</TelerikButton>

@code {
    private DateTime DatePickerValue { get; set; } = DateTime.Today;

    private async Task OnDatePickerValueChanged(DateTime newValue)
    {
        throw new InvalidOperationException("This exception should be caught by the ErrorBoundary!");
    }
}
  1. Run the page and select a date in the DatePicker.

Actual Behavior

The exception thrown in the OnDatePickerValueChanged event handler is not caught by ErrorBoundary.

Expected Behavior

The exception thrown in the OnDatePickerValueChanged event handler is caught by ErrorBoundary.

Browser

All

Last working version of Telerik UI for Blazor (if regression)

No response

Unplanned
Last Updated: 06 Oct 2025 14:03 by Sadik

Description

Affected components: those inheriting from TelerikSelectBase (e.g., TelerikDropDownList, TelerikComboBox, TelerikMultiSelect, TelerikAutoComplete). When an exception is thrown inside an async Task event handler for the OnChange, OnBlur, OnOpen, and ValueChanged events, the exception is completely and silently swallowed. The exception is not caught by ErrorBoundary.

Related: #6333

Steps To Reproduce

Steps to Reproduce

  1. Use a standard ErrorBoundary in MainLayout.razor.
<ErrorBoundary>
    <ChildContent>
        @Body
    </ChildContent>
    <ErrorContent>
        <p class="error">An unhandled error has occurred.</p>
    </ErrorContent>
</ErrorBoundary>
  1. Declare a TelerikDropDownList and bind an async Task method to the ValueChanged or OnChange event.
<TelerikDropDownList 
    Data="@DropDownData"                  
    ValueChanged="@( (int newValue) => OnDropDownValueChanged(newValue))"       
    TextField="@nameof(TestItem.Name)"
    ValueField="@nameof(TestItem.Id)" />

<TelerikButton OnClick="@(() => throw new Exception("Exception from button"))">Click to test ErrorBoundary</TelerikButton>

@code {
    private int? SelectedDropDownValue;

    private List<TestItem> DropDownData = new()
    {
        new() { Id = 1, Name = "Select me to throw exception" },
    };

    private async Task OnDropDownValueChanged(int newValue)
    {
        throw new InvalidOperationException("This exception should be caught by the ErrorBoundary!");
    }

    public class TestItem
    {
        public int Id { get; set; }
        public string Name { get; set; } = string.Empty;
    }
}
  1. Run the page and select the item in the DropDownList's list.

Actual Behavior

The exception thrown in the OnDropDownValueChanged event handler is not caught by ErrorBoundary.

Expected Behavior

The exception thrown in the OnDropDownValueChanged event handler is caught by ErrorBoundary.

Browser

All

Last working version of Telerik UI for Blazor (if regression)

No response

1 2 3 4 5 6