Completed
Last Updated: 03 Jun 2025 12:53 by Tyler
Release 2025 Q3 (Aug)
Created by: Kevin
Comments: 1
Category: Grid
Type: Bug Report
1

Bug report

The Core Grid throws an exception when setting its toolbar template through the ClientTemplateId option. The issue is a regression introduced in version 2025.2.520.

Reproduction of the problem

  1. Configure the toolbar of the Grid like this:
.ToolBar(toolbar => {
     toolbar.ClientTemplateId("myTemplate");
})

Current behavior

An exception is thrown:

NullReferenceException: Object reference not set to an instance of an object

Expected/desired behavior

The configuration works without throwing exceptions.

Wokraround

Use the alternative way of setting the toolbar template, on the Grid's root level:

@(Html.Kendo().Grid <MyModel>()
      .Name("grid")
      .ToolBarClientTemplateId("myTemplate")

Environment

  • Kendo UI version: 2025.2.520
  • Browser: [all]
Pending Review
Last Updated: 02 Jun 2025 16:00 by Michael
We have several apps that utilize data that several Date or Date/Time columns and we allow users to search for records by using comparison type operators (e.g. "==", ">=", "<=", etc.) and for now we have to add a separate and somewhat disjointed pick list with the allowable operators to filter the selected date, date/time by but it would be nice, like as can be done with the TextBox control, to add a Prefix templated pick list control definition so that there is a clear tie between the DatePicker/DateTimePicker control and the comparison operators control and so that the "combined" control and label wraps as one control versus the 2 distinct controls (as we do today) wrap independently thus causing a disconnect between the operators pick list and the date/datetime picker control.
Unplanned
Last Updated: 02 Jun 2025 07:26 by ADMIN
Created by: Janick
Comments: 2
Category: UI for ASP.NET Core
Type: Feature Request
5

Consider the use of TextWriter async methods for the HTML Helpers, for example the WriteInitializationScript methods.  In certain scenarios the use of the synchronous methods causes an exception: System.InvalidOperationException: Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead.

This can be resolved by explicitly enabling synchronous operations

services.Configure<IISServerOptions>(options =>
    {
        options.AllowSynchronousIO = true;
    });

though synchronous operations have been disabled by default at framework level as of .NET 3.0.

Planned
Last Updated: 30 May 2025 11:18 by ADMIN
Scheduled for 2025 Q3 (Aug)
Created by: Alistair
Comments: 0
Category: Wizard
Type: Feature Request
3

Currently, the Content function for Steps in a Wizard only accepts a string value (see API here). 
This means that in order to add a partial view (bound to the current model and its properties), the most straightforward way I could find was to put the partial view (and any wrappers) in its own file and add an extension method "ToHtmlString()". For example:

@model MyModel

@(Html.Kendo().Wizard().Steps(step => {

step.Add().Content(Html.Partial("~/Path/To/View/Wrapper.cshtml", Model).ToHtmlString());

})

using Microsoft.AspNetCore.Html;
using System.IO;

public static class HtmlContentExtensions
{
    public static string ToHtmlString(this IHtmlContent htmlContent)
    {
        if (htmlContent is HtmlString htmlString)
        {
            return htmlString.Value;
        }

        using StringWriter writer = new();
        htmlContent.WriteTo(writer, System.Text.Encodings.Web.HtmlEncoder.Default);
        return writer.ToString();
    }
}
This is not ideal, as it requires the usage of Html.Partial (which displays a warning in the latest versions of .NET 8). It is also awkward as it sometimes means that new view files need to be created for the explicit purpose of being a "wrapper" even though they do not contain much content. And lastly, it also requires an extension method, so it's not immediately easy for other Telerik users to use.

In the Telerik TabStrip, a better approach is possible, as the Content for Items can take in a function which accepts Razor syntax (see API here). For instance:

@model MyModel @(Html.Kendo().TabStrip().Items(tabstrip => { tabstrip.Add()

.Content(@<div id="@Model.TabContainer" class="myTabWrapperClass">

@await Html.PartialAsync("~/Path/To/View.cshtml", Model)

</div>); })

In this case, we can use Html.PartialAsync (avoiding .NET 8 warnings), we don't need an extension method, and it is easy to add any required "wrapping" such as a div with an ID, without needing a whole separate view.

If we had the option to use the same approach with Wizard Steps, that would be ideal!

Unplanned
Last Updated: 29 May 2025 12:58 by ADMIN
Created by: Bryan Patrick
Comments: 0
Category: Grid
Type: Bug Report
1

Bug report

Expose additional API configurations for the Grid's ToolBar

Reproduction of the problem

As of recent releases, the Kendo UI Grid Toolbar has been substituted with the Kendo UI Toolbar. This change allows users to add the majority ToolBar.items API options apart from the built-in tools.

As noted within the Kendo UI for jQuery API documentation for the Grid's Toolbar:

"Apart from the built-in tools, the Grid fully exposes the ToolBar.items API. This way you can specify any custom tools in the widget using the components available in the ToolBar itself."

Current behavior

The inherited ToolBar.items API options are not available for the server-side Telerik UI Grid for ASP.NET Core and MVC wrappers as well.

Expected/desired behavior

It would be beneficial to the customers if the inherited ToolBar.items API options are available for the server-side Telerik UI Grid for ASP.NET Core and MVC wrappers as well.

Environment

  • Kendo UI version: 2024.1.130
  • Browser: [all]
Completed
Last Updated: 29 May 2025 12:57 by ADMIN
Release 2025 Q1 (Feb)

Enhancement

Expose the sorts TagHelper for the Grid's column filter datasource taghelper

Overview

Currently, the Grid's Column Filter Datasource Taghelper exposes the following inner child TagHelpers.

Unlike its HtmlHelper counterpart which happens to expose the .Sort() API configuration. For example:

.Columns(columns =>
{
    columns.Bound(p => p.ShipName).Filterable(ftb =>
    {
        ftb.Multi(true);
        ftb.Search(true);
        ftb.CheckAll(true);
        ftb.DataSource(dataSource => dataSource
            .Custom()
            ...
            .Sort(sort =>
            {
                sort.Add("ShipName").Ascending();
            })
        );
    });
})
Completed
Last Updated: 29 May 2025 08:41 by ADMIN
Release 2025 Q2 (May)
Created by: Mattia
Comments: 2
Category: Form
Type: Feature Request
26
Allow configuring the Upload component through the .Items configuration:
.Items(items =>
{    
    items.Add()
        .Field(f => f.Type)
        .Label(l => l.Text("Type:"))
        .Editor(e =>
        {
            e.Upload() 
        }
}

Unplanned
Last Updated: 27 May 2025 16:21 by Allan

The Kendo UI for jQuery TreeList provides options for configuring the settings of the Window when using Popup editing mode:

https://www.telerik.com/kendo-jquery-ui/documentation/api/javascript/ui/treelist/configuration/editable#editablewindow

Currently, the Window options are not available for the HtmlHelper and TagHelper TreeList. Is it possible to implement the Window() configuration of the Editable() option, as per the example below?

        .Editable(e =>
        {
            e.Mode("popup");
            e.Window(w => w.AppendTo("..").Animation(false).Draggable(false).Title("..."));
        })

Unplanned
Last Updated: 27 May 2025 07:15 by Gabor

### Bug report

When using the sort" and "filter" toolbar commands, the "sort" and "filter" events do not trigger.

### Reproduction of the problem

 A Dojo sample for reporduction: https://dojo.telerik.com/ySEQTSSS

### Expected/desired behavior

The "sort" and "filter" events must trigger when sorting and filterng the columsn through the respective toolbar commands.


### Environment

* **Kendo UI version: 2025.2.520
* **jQuery version: 3.7.1
* **Browser: [all]

Unplanned
Last Updated: 27 May 2025 07:04 by Gabor

### Bug report

The "Clear Sorting" and "Clear all filters" labels cannot be localized when using the "sort" and "filter" toolbar commands.

### Reproduction of the problem

A Dojo sample for reporduction: https://dojo.telerik.com/JHJGUaSH

### Expected/desired behavior

The "Clear Sorting" and "Clear all filters" messages should be exposed for localization.

### Environment

* **Kendo UI version: 2025.2.520
* **jQuery version: 3.7.1
* **Browser: [all]

Unplanned
Last Updated: 20 May 2025 16:33 by Hadi
Created by: Hadi
Comments: 0
Category: Upload
Type: Feature Request
1

Hi Team,

I noticed there is an Azure Blob Storage example with the UI for ASP.NET Core Upload, but there is not an example with Chunk Upload.  I would like to request an example be provided in your documentation.  

Thank you!

Unplanned
Last Updated: 19 May 2025 13:03 by ADMIN
Scheduled for 2025 Q3 (13.08.2025)
Created by: David
Comments: 0
Category: Installer and VS Extensions
Type: Bug Report
0
Steps to Reproduce:

  1. Installs both extensions ASP.NET Core and MVC without the latest MVC and ASP.Net Core product versions
  2. Create an ASP.NET Core project with an older version
  3. An Update Available Notification appears for ASP.Net Core
  4. Click on the "Update Now" button
  5. The Upgrade project wizard is launched
  6. Click on "Next" button, then the following error appears:

The wizard encountered an error while trying to handle user event.
System.InvalidOperationException: Sequence contains no matching element
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at Telerik.KendoUI.Mvc.VSX.Wizards.ViewModels.MvcDistributionChooserUpgradeViewModel.GetProjectWithLowestTargetFramework(List`1 projects)
at Telerik.KendoUI.Mvc.VSX.Wizards.ViewModels.MvcDistributionChooserUpgradeViewModel.GetDistributions()
at Telerik.VSX.ViewModels.DistributionChooserViewModelBase`1.get_Distributions()
at Telerik.VSX.ViewModels.DistributionChooserViewModelBase`1.get_CurrentDistribution()
at Telerik.KendoUI.Mvc.VSX.Wizards.UpgradeProjectWizard.TryGetDistributionToken(TargetMvcVersion mvcVersion)
at Telerik.KendoUI.Mvc.VSX.Wizards.UpgradeProjectWizard.GetPropertyValue(String propertyName)
at Telerik.VSX.WizardEngine.Controls.WizardControlBase.PopulateCollectedValues(IPropertyDataDictionary gatheredData)
at Telerik.VSX.WizardFramework.Pages.DynamicPageController.GetData()
at Telerik.WizardFramework.Wizard.GetCurrentPageData()
at Telerik.WizardFramework.Wizard.UpdateNavigation()
at Telerik.WizardEngine.Helpers.EventHelper.CatchExceptionAndSendReport(Action action)
Unplanned
Last Updated: 16 May 2025 20:40 by Akesh Gupta
Created by: Akesh Gupta
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
1

Hi Team,

I would like to request to add an Html/Tag Helper for the kendo.ui.icon.  

Thanks!

Unplanned
Last Updated: 16 May 2025 08:18 by abdul
When pasting multiple rows (e.g., 50 or more) from Excel into the Grid, there is a delay before the Grid visualizes them. Implement a built-in loading indicator that will show up when initiating the paste operation and hide when it is complete.
Unplanned
Last Updated: 14 May 2025 12:00 by Nitin

Currently, when exporting a file from the Spreadsheet that contains named ranges, which refer to invalid or missing references (e.g., "#REF!"), the exported file is corrupted when attempting to open it in Excel:

Is it possible to remove any invalid named ranges before exporting the file to avoid such a warning when opening the file in Excel? Alternatively, rewrite the invalid named ranges in the exported file, so they are ignored by Excel when opening the exported file.

By default, when opening a file with invalid named ranges in Excel, there is no automatic warning to the user.

Unplanned
Last Updated: 14 Apr 2025 10:07 by ADMIN
Created by: Emily
Comments: 5
Category: Grid
Type: Feature Request
4

I'm in the process of rewriting all Kendo components to use CSP compatible templates. I'm looking at https://docs.telerik.com/aspnet-core/html-helpers/template/overview which shows how we'd use TemplateComponentName() for popup editors and that we would need to rewrite everything in the popup editor to use Kendo Template's AddHtml or AddComponent methods.

Original:

<div class="mb-2 row required"> @Html.LabelFor(model => model.FileName, new { @class = "col-sm-4 col-form-label fw-bold text-sm-end" }) <div class="col-sm-6"> @(Html.Kendo().TextBoxFor(model => model.FileName).HtmlAttributes(new { @class = "w-100" })) </div> </div> <div class="mb-2 row"> @Html.LabelFor(model => model.FileDescription, new { @class = "col-sm-4 col-form-label fw-bold text-sm-end" }) <div class="col-sm-6"> @(Html.Kendo().TextBoxFor(model => model.FileDescription).HtmlAttributes(new { @class = "w-100" })) </div> </div>

Rewritten:

@(Html.Kendo().Template()
	.AddHtml("<div class='mb-2 row required'>")
	.AddHtml(@<text>
		@Html.LabelFor(model => model.FileName, new { @class = "col-sm-4 col-form-label fw-bold text-sm-end" })
	</text>)
	.AddHtml("<div class='col-sm-6'>")
	.AddComponent(c => c.TextBoxFor(model => model.FileName).HtmlAttributes(new { @class = "w-100" }))
	.AddHtml("</div></div>")

	.AddHtml("<div class='mb-2 row'>")
	.AddHtml(@<text>
		@Html.LabelFor(model => model.FileDescription, new { @class = "col-sm-4 col-form-label fw-bold text-sm-end" })
	</text>)
	.AddHtml("<div class='col-sm-6'>")
	.AddComponent(c => c.TextBoxFor(model => model.FileDescription).HtmlAttributes(new { @class = "w-100" }))
	.AddHtml("</div></div>")
)

While this works, this markup seems much harder to read than the original. Could this be made to be simpler? Ideally I'd like to be able to drop my existing mix of html and kendo components in one method and it'd parse through to render the template properly.

 

Unplanned
Last Updated: 11 Apr 2025 10:33 by Paul

If I set the id directly in the HTML attributes for a checkbox, then the result when rendered has duplicate input elements with the same ID in the DOM. 

Below is an example of this

ASP.NET Core REPL - ASP.NET Core Components Playground & Testing - Telerik

This issue does not exist on any of the other Telerik controls that we've used (as far as I'm aware). This includes ones where there are two inputs - one for selecting a value and the other for storing it e.g. ComboBox

https://netcorerepl.telerik.com/wfuoYWkZ40lQM5hY39



or similarly for NumericTextBox 

https://netcorerepl.telerik.com/mfOIYikZ44Kr8qjU21



The best solution would be to make checkboxes consistent with other controls by preventing the IDs from being duplicated when the property is set.


Unplanned
Last Updated: 09 Apr 2025 06:46 by Avinash
Created by: Avinash
Comments: 0
Category: DropDownList
Type: Feature Request
1
It would be helpful to have an option to make the group header of the DropdownList not sticky.
Completed
Last Updated: 07 Apr 2025 16:34 by ADMIN
Release 2025 Q2 (May)

Bug report

When using the Kendo MultiSelect TagHelper and binding it to a model property, the selected values are not populated.

Reproduction of the problem

Create the MultiSelect and bind it to a property of the view model:

@model API.Models.IndexViewModel

<kendo-multiselect for="SelectedCategoriesTagHelper"
                   bind-to="@Model.Categories"
                   datatextfield="Text"
                   datavaluefield="Value"
></kendo-multiselect> 

Expected/desired behavior

The MultiSelect TagHelper should correctly display the selected values when bound to a model property.

TicketID:

1682678

Environment

  • Browser: [all]
Unplanned
Last Updated: 03 Apr 2025 10:11 by Paul

### Bug report

When adding a <select> element as a custom tool in the Editor, the dropdown does not open.

### Reproduction of the problem

1) Run the Dojo sample and try to open the dropdown in the toolbar:

https://dojo.telerik.com/VVPUopDw

The same example work as expected with version 2023.1.117.

2) When using version 2024.4.1112, if you remove the "ref-toolbar-tool" attribute from the <div class='k-toolbar-item'> element, the dropdown opens as expected.

### Expected/desired behavior

The <select> element must function correctly when added as a custom tool in the toolbar.

### Workaround

Handle the "click" event of the select and prevent the event bubbling:

<script>
    $(function () {
        const selectElements = $('select[id^="symbolSelect_"]');
        $(selectElements).each(function (index) {
            this.addEventListener("click", clickHandlerSymbolSelect);
        });
    });

    function clickHandlerSymbolSelect(e) {
        e.stopPropagation(); //Prevent event bubbling, so Kendo cannot swallow or cancel the event.
        const sendingElement = e.target;
        sendingElement.showPicker();
        return true;
    }
</script>

### Environment

* **Kendo UI version: 2025.1.227
* **jQuery version: 3.7.1
* **Browser: [all]

1 2 3 4 5 6