Completed
Last Updated: 05 Aug 2024 10:45 by ADMIN
Release 2024 Q3 (Aug)

Overview

Currently, the Telerik UI for ASP.NET Core DataSource does not expose a Deferred() API configuration. In comparison to its Telerik UI for ASP.NET MVC counterpart.

It would be beneficial to expose the ability to defer the component in the following manner:

@(Html.Kendo().DataSource<TelerikMvcApp119.Models.OrderViewModel>()
    .Name("ds")
    .Ajax(dataSource => dataSource
		.Read(read => read.Action("AssetType_Read", "AssetTypes"))
	)
    .Deferred()
)

It will also enable users to employ CSP using a granular deferred initialization into a separate script tag. Annotated with the nonce attribute

Current behavior

The Telerik UI for ASP.NET Core DataSource does not expose a built-in configuration for deferring the DataSource.

Expected/desired behavior

The Telerik UI for ASP.NET Core DataSource should expose a built-in configuration for deferring the DataSource.

Environment

  • Kendo UI version: 2024.2.514
  • Browser: [all]
Pending Review
Last Updated: 09 Aug 2024 07:35 by Hubert Frick
Created by: Hubert Frick
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
1

Bug report
For the Telerik Scheduler Timeline View, since the update from somewhere in between version 2022.3.1109 to 2024.2.154, a custom timeline view cannot be selected if the view name has dot(s) in its name (e.g. "kendo.ui.customTimelineView").

Reproduction of the problem

Add a custom Timeline View by extending the kendo.ui.TimelineView

Current behavior

Unlike older versions (I know that it worked with version <= 2022.3.1109, but don't know when exactly it was introduced)  now the ui blocks, when the custom select view button is clicked. Specifically, the problem is in kendo.scheduler.js at line 4554:

var viewElementToSelect = that.toolbar.find("[" + kendo.attr("name") + "=" + name + "]");

Expected behavior

In this code line, the find method does not work when the variable "name" contains something like "kendo.ui.CustomTimelineView". As a solution, I suggest escaping the name beforehand:

var nameEscaped = $.escapeSelector(name);
var viewElementToSelect = that.toolbar.find("[" + kendo.attr("name") + "=" + nameEscaped + "]");
With that or a similar solution , my custom Timeline View can be selected as before.
Completed
Last Updated: 20 Nov 2024 08:33 by ADMIN
Release 2025 Q1 (Feb)

Bug Report

The Pickers are not bound to model value when a nullable DateTime is set.

Reproduction of the problem

  1. Create a model with a nullable DateTime property
         public class MyModel
         {
               public DateTime? Birthday { get; set; }
         }
    
  2. Declare either a DatePickerFor, DateRangePickerFor, DateInputFor, or TimePickerFor Helpers
        @(Html.Kendo().TimePickerFor(m => m.Birthday))
    
  3. Notice, that the value has not been bound accordingly.

Current behavior

The Pickers are not bound to model value when nullable.

Expected behavior

The Pickers are not bound to model value when a nullable DateTime is set.

Environment

Kendo UI version: 2024.4.1112
jQuery version: x.y
Browser: [all]

Declined
Last Updated: 26 Dec 2018 13:01 by ADMIN
Created by: parveen
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
0

Hello,

Object doesn't support property or method 'syncReady' I am getting this error and not able to resolve that issue. I am using visual studio core and imported Telerik.ui.for.aspnet.core.trial. I also imported the js of Kendo.Ui.Core . but not able to resolve the issue. Please help

 

Thanks

Completed
Last Updated: 09 Feb 2021 07:53 by ADMIN
I'd like to request that there's an easy way CRUD to a remote datasource with the ListBox, similar to the grid & treelist.
Unplanned
Last Updated: 13 Jan 2021 08:55 by ADMIN
Created by: Christopher
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
0

Allow general configuration of SuggestionOperator, as is available for Operators.

I can do something like this in GridFilterableSettingsBuilder --

  filterable.Operators(operators => operators
    .ForString(str => str
      .Clear()
      .Contains("contains"))

I would like to also be able to do this -- 

  filterable.SuggestionOperator(FilterType.Contains)


...instead of configuring the SuggestionOperator per column.  filterable.Cell(cell => cell.SuggestionOperator(FilterType.Contains))
Unplanned
Last Updated: 20 Mar 2020 14:31 by ADMIN
Created by: Andrew
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
0

Be able to bind the DataSource to data without a separate controller and AJAX fetch for use with Razor Pages.

The use case is a shared data source that drives multiple components on a page for example a chart and grid filtered with an auto complete box.

In a grid I can do this:

@(Html.Kendo().Grid(Model.Data)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.Description).Title("Description");
        columns.Bound(p => p.RecordCount).Title("Number Sold").Width(130);
        columns.Bound(p => p.TotalValue).Title("Total Value").Width(130);
        columns.Bound(p => p.AverageValue).Title("Average Value").Width(130);
        columns.Bound(p => p.Rank).Title("Rank").Width(130);
        columns.Bound(p => p.RankMax).Title("Bananas").Width(130);
        columns.Bound(p => p.LowerQuartile).Title("LowerQuartile").Width(130);
        columns.Bound(p => p.Median).Title("Median").Width(130);
        columns.Bound(p => p.UpperQuartile).Title("UpperQuartile").Width(130);
    })
    .Sortable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .ServerOperation(false)
    )
)

 

Would want to be able to do same with the DataSource like:

@(Html.Kendo().DataSource(Model.Data)
    .Name("dataSource1")
    .Ajax(dataSource => dataSource
        .ServerOperation(false)
    )
    )

 

Completed
Last Updated: 20 Oct 2020 13:41 by ADMIN

Bug report

Reproduction of the problem

  1. Run the project attached on in 16.9.2020 in Ticket ID: 1484793
  2. Check the "Add 3rd Step" checkbox
  3. Navigate to the 3rd step - the Rating is unresponsive and its value cannot be changed

Current behavior

The Rating is unresponsive.

Expected/desired behavior

The Rating works properly.

Environment

  • Kendo UI version: 2020.2.617
  • jQuery version: x.y
  • Browser: [all ]
Completed
Last Updated: 28 Sep 2020 15:25 by ADMIN
Release 2020.R3.SP.next
Created by: Emmsa
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
0

Bug report

Reproduction of the problem

The kendo.common-bootstrap.min.css file contains the following rule:

.k-time-container{padding-right:100px;padding-left:100px;margin-left:-100px;margin-right:-100px;margin-"left":-117px}

that sets margin-left incorrectly: margin-"left"

Current behavior

Expected/desired behavior

Environment

  • Kendo UI version: 2020.3.915
  • jQuery version: x.y
  • Browser: [all]
Unplanned
Last Updated: 21 Dec 2020 09:56 by ADMIN
Created by: Erich ÄŒonka
Comments: 3
Category: UI for ASP.NET Core
Type: Feature Request
0

Hi support team,

I have a question about translation of Kendo. I'm using Kendo as NuGet package dependency
and some text resources aren't translated to Slovak. They are still in English.
For example question in delete confirm dialog of grid and "Add new record" button of grid.
And in other widgets, but these two are the most important for me.
Is there any option to get translation working from NuGet package?
I tried everything i found, but nothing works.

Thanks in advance

Vlado

Unplanned
Last Updated: 20 Jan 2021 12:57 by ADMIN
Created by: David
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
0

This common issue immediately manifests itself through the Html helper output of shape Html.Kendo().__For(model => model.__). The output html contains a script following the created element, which contains:

kendo.syncReady(function(){jQuery("#NewPersonId").kendoTextBox({});});

This can possibly be mitigated by replacing the query part with:

jQuery(document.currentScript.previousSibling)
browser support for currentScript

browser support for previousSibling

This suggestion assumes that the script element is always the next sibling of the element being "syncReady"-ed.

 

This will not solve the issue of users facing the issue in the own code if they try to query the element by ID themselves, but it may save them the trouble of specifying an id in cases where they only need to do so to prevent ID contention. This is only a suggestion. Feel free to disregard it.

Unplanned
Last Updated: 09 Feb 2021 15:26 by Robert Madrian
Created by: Robert Madrian
Comments: 2
Category: UI for ASP.NET Core
Type: Feature Request
0

especially for Grid, Tabstrip, Charts...

so autosize is standard without javascript

Unplanned
Last Updated: 18 Mar 2021 12:53 by ADMIN

Issue

Using any overload of ToDataSourceResult(Async) with a DataSourceRequest containing filter descriptors on an IQueryable provided by Entity Framework core 2.x, causes Entity Framework's "Query cache" to fill up for different filter values, leaking memory in the process. This is caused by using Expression.Constant in the generated expression trees for a DataSourceRequest's FilterDescriptors. Refer to https://github.com/dotnet/efcore/issues/14859 for more details about why this leaks memory.

Since Entity Framework's cache is always missed for new filter values, performance is also degraded due to this issue.

The issue is not present when using Entity Framework core 3 or greater. Apparently using Expression.Constant is not an issue on these version.

I have attached a minimal working example that illustrates the memory leak.

Fix

This issue can be fixed by changing FilterDescriptorExpressionBuilder.CreateValueExpression to not return a ConstantExpression, but a MemberExpression instead. Entity Framework 2.x will correctly parameterize the MemberExpression, causing the query cache to be hit correctly for queries that only differ in parameter values. It won't parameterize ConstantExpressions. Refer to https://stackoverflow.com/a/60516780/147993 for an example of generating a MemberExpression instead of a ConstantExpression.

Completed
Last Updated: 20 Jan 2022 12:30 by ADMIN
Release 2021.R2.SP1

Bug report

A DataSource defined using TagHelpers with disabled serverPaging sets default pageSize:

    <datasource type="DataSourceTagHelperType.Ajax" server-filtering="true" server-paging="false">
            <transport>
                <read url="@Url.Page("Index", "Read")" data="forgeryToken" />
            </transport>
            <schema data="Data">
                <model id="OrderID">
                    <fields>
                        <field name="ShipName" type="string"></field>
                    </fields>
                </model>              
            </schema>
     </datasource>

generates the following initialization script:

{"dataSource":{"page":1,"pageSize":20,"schema":{"model":{"id":"OrderID","fields":{"ShipName":{"type":"string"}}},"data":"Data","errors":"Errors","total":"Total"},"serverAggregates":true,"serverFiltering":true,"serverGrouping":true,"serverPaging":true,"serverSorting":true,"transport":{"read":{"url":"/?handler=Read","data":forgeryToken}},"type":(function(){if(kendo.data.transports['aspnetmvc-ajax']){return 'aspnetmvc-ajax';} else{throw new Error('The kendo.aspnetmvc.min.js script is not included.');}})()}

with default pageSIze set.
Initializing using jQuery works as expected:

       dataSource: {
            type: "aspnetmvc-ajax",
            serverPaging: false,
            serverFiltering:true,
            transport: {
                read: {
                    url: "@Url.Page("Index", "Read")",
                    data: forgeryToken
                }
            },
            schema: {
                model: {
                    id:"OrderID"
                },
                data: "Data",
                total:"Total"
            }
        }

Current behavior

The "page" and "pageSize" values are set, which results in only 20 items being displayed, even though more are returned by the "read" action.

Expected/desired behavior

The "page" and "pageSize" should not be set.

Environment

  • Kendo UI version: 2021.1.330
  • Browser: [all]
Declined
Last Updated: 01 Feb 2022 14:47 by ADMIN
Created by: A
Comments: 2
Category: UI for ASP.NET Core
Type: Bug Report
0

Kendo dialog structure doesn’t use Aria landmarks properly for buttons  - this leads to a validation error

The pager control's select box renders role="listitem" but the parent is missing role="list"  - this leads to a validation error

Listviews will render role="list" even when empty - this leads to a validation error

Kendo grids use 2 tables (one for header and one for the data) which means that there are no role="cell" assigned to any of the headers  - this leads to a validation error

Scrollable grids are missing a tabindex="0" to allow for keyboard navigation - this leads to a validation error

 

this form doesn't have Core 2, 2.1, 3.0, 3.1 or 5 in the .Net Framework drop down. Just gonna pick 4.8 even though it doesn't apply. I am using core 5.

Declined
Last Updated: 25 Mar 2024 13:14 by ADMIN
Created by: Yovko
Comments: 5
Category: UI for ASP.NET Core
Type: Bug Report
0

 

I have an editable kendo grid in which I have a date field. When I choose a date through the calendar for example: 26.12.2021 on post the model binder parses the date correctly.

If I manually enter the date in the cell the model binder parses the date as it was not an UTC and since my time zone is +2h it comes in the controller as 25.12.2021 22:00

(see the attached files)

 

Inside my startup.cs I have defined JsonOptions like this:

.AddNewtonsoftJson(options =>
                {
                    options.SerializerSettings.ContractResolver = new DefaultContractResolver();
                    options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
                });

 

In the Configure method:

var supportedCultures = new[] { new CultureInfo("bg-BG") };

app.UseRequestLocalization(new RequestLocalizationOptions
{
         DefaultRequestCulture = new RequestCulture("bg-BG"),
         SupportedCultures = supportedCultures,
         SupportedUICultures = supportedCultures
});

Layout.cshtml

<script src="~/lib/kendo/js/cultures/kendo.culture.bg-BG.min.js"></script>

<script>
        kendo.culture("bg-BG");
</script>

Declined
Last Updated: 01 Feb 2022 14:45 by ADMIN
  • ArgumentOutOfRangeException: Index and length must refer to a location within the string. (Parameter 'length')

    • string.Substring(int startIndex, int length)

    • Kendo.Mvc.Rendering.KendoHtmlGenerator.SanitizeId(string id)

    • Kendo.Mvc.UI.WidgetBase.get_Id()

    • Kendo.Mvc.UI.WidgetBase.RenderTrialMessage(TextWriter writer)

    • Kendo.Mvc.UI.WidgetBase.RenderHtml(TextWriter writer)

    • Kendo.Mvc.UI.WidgetBase.ToHtmlString()

    • Kendo.Mvc.UI.Fluent.WidgetBuilderBase<TViewComponent, TBuilder>.ToHtmlString()

    • Kendo.Mvc.UI.Fluent.WidgetBuilderBase<TViewComponent, TBuilder>.WriteTo(TextWriter writer, HtmlEncoder encoder)

    • Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBuffer.WriteToAsync(TextWriter writer, HtmlEncoder encoder)

    • Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderLayoutAsync(ViewContext context, ViewBufferTextWriter bodyWriter)

    • Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderLayoutAsync(ViewContext context, ViewBufferTextWriter bodyWriter)

    • Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)

    • Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, string contentType, Nullable<int> statusCode)

    • Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, string contentType, Nullable<int> statusCode)

    • Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ActionContext actionContext, IView view, ViewDataDictionary viewData, ITempDataDictionary tempData, string contentType, Nullable<int> statusCode)

    • Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor.ExecuteAsync(ActionContext context, ViewResult result)

    • Microsoft.AspNetCore.Mvc.ViewResult.ExecuteResultAsync(ActionContext context)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultAsync>g__Logged|22_0(ResourceInvoker invoker, IActionResult result)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0<TFilter, TFilterAsync>(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext<TFilter, TFilterAsync>(ref State next, ref Scope scope, ref object state, ref bool isCompleted)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultFilters>g__Awaited|28_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)

    • Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)

    • Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)

    • Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)

    • Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

Completed
Last Updated: 06 Dec 2021 14:43 by ADMIN
Created by: Flavien
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
0

### Bug report

The localization script "kendo.messages.en-GB.min.js" throws a type error in the browser console - "Cannot read properties of undefined (reading 'messages')".

### Reproduction of the problem

1. Include the culture script "kendo.culture.en-GB.min.js" on the page (locally or by using the Kendo CDN service).

2. Include the localization script "kendo.messages.en-GB.min.js" (locally or by using the Kendo CDN service).

3. Set the culture to "en-GB".

4. An error is logged in the browser console: "Cannot read properties of undefined (reading 'messages')".

A Dojo sample for reproduction: https://dojo.telerik.com/aJokESEP

### Environment

* **Kendo UI version: 2021.3.1109
* **jQuery version: 1.12.4
* **Browser:** [all]

Declined
Last Updated: 01 Feb 2022 12:38 by Cypher

Steps to reproduce

  1. Execute the code below
  2. Enter some values in the Html and Kendo inputs
  3. Hit the browser's back button
  4. Hit the browser's forward button to redisplay the page

Current Behavior

The value in the Html Input is restored but not the value of the Kendo Input. The same behavior applies for Kendo NumericTextBox, etc.

 

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.3.1207/styles/kendo.bootstrap-v4.min.css" />
    <script src="https://kendo.cdn.telerik.com/2021.3.1207/js/jquery.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2021.3.1207/js/kendo.all.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2021.3.1207/js/kendo.aspnetmvc.min.js"></script>
  </head>
  <body>
    <form>
 
      <div>
        <label for="HtmlInput">Html Input</label>
        <input type="text" id="HtmlInput" name="HtmlInput">
      </div>
 
      <div>
        <label for="KendoInput">Kendo Input</label>
        @(Html.Kendo().TextBox ().Name ("KendoInput"))
      </div>
 
    </form>
  </body>
</html>

Unplanned
Last Updated: 16 Feb 2022 08:09 by ADMIN
Created by: FIMS Computing Services FIMS - UWO
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
0

Hi,

Will the TagCloud control from the ASP.NET AJAX package ever be ported to the ASP.NET Core package?

I use this on faculty profiles and it is a required component if I ever want to move them to Core.

Thanks,

Charlotte McClellan