Completed
Last Updated: 18 Jan 2024 07:55 by ADMIN
Release 2024 Q1

Bug report

When the Model for the Grid inherits the CustomTypeDescriptor, an error is thrown.

Reproduction of the problem

  1. Open the attached sample project -
    TelerikAspNetCoreApp3.zip

  2. Load the About page

Current behavior

The following error is thrown:

An unhandled exception occurred while processing the request.
InvalidOperationException: Bound columns require a field or property access expression.
Kendo.Mvc.UI.GridBoundColumn<TModel, TValue>..ctor(Grid grid, Expression<Func<TModel, TValue>> expression)

Expected/desired behavior

The view should load without any errors

Environment

  • Kendo UI version: 2020.3.1118
  • Browser: [all ]
Declined
Last Updated: 04 Jan 2021 10:09 by ADMIN

Can't update Razor.RuntimeCompilation to 5.0.0, because Telerik.UI.for.AspNet.Core (2020.3.1118) uses Microsoft.CodeAnalysis.Common=3.3.1 (needed >=3.7.0).

NU1107: 
 OperationalAccounting -> Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 5.0.0 -> Microsoft.CodeAnalysis.Razor 5.0.0 -> Microsoft.CodeAnalysis.Common (>= 3.7.0) 
 OperationalAccounting -> Telerik.UI.for.AspNet.Core 2020.3.1118 -> Microsoft.CodeAnalysis 3.3.1 -> Microsoft.CodeAnalysis.CSharp.Workspaces 3.3.1 -> Microsoft.CodeAnalysis.Common (= 3.3.1).
Please, if it's not critical, update the version of CodeAnalysis.Common
Completed
Last Updated: 09 Nov 2020 12:44 by ADMIN
Created by: Aaron
Comments: 1
Category: UI for ASP.NET Core
Type: Bug Report
1

When assigning the Name of a Telerik UI control, the value specified is used for both the name and id attributes of HTML elements. If the value specified contains a period (ex. a property of a complex model property, ex. Model.Address.Line1) then the "name" attribute will still contain the period (ex. "Address.Line1") but because periods are invalid for the "id" attribute, the periods should get replaced with an underscore by default (ex. "Address_Line1"). Using HTML helpers, this appears to be happening correctly. Using Tag Helpers, on the other hand, does not appear to be sanitizing the id values and instead leaves the period, causing an invalid value to be used and inconsistent results when compared to the HTML Helpers.

 

Example using the ListBox component:

// Tag Helper, generates this: <select id="ComplexModelProperty.ListBoxTagHelper" name="ComplexModelProperty.ListBoxTagHelper">
<kendo-listbox name="ComplexModelProperty.ListBoxTagHelper" bind-to="new List<string>()"></kendo-listbox>

// HTML Helper, generates this: <select id="ComplexModelProperty_ListBoxHtmlHelper" name="ComplexModelProperty.ListBoxHtmlHelper">
@(Html.Kendo().ListBox()
  .Name("ComplexModelProperty.ListBoxHtmlHelper")
  .BindTo(new List<string>())
)

Example using the Button component:

// Tag Helper, generates this: <button id="ComplexModelProperty.ButtonTagHelper" name="ComplexModelProperty.ButtonTagHelper" type="button">
<kendo-button name="ComplexModelProperty.ButtonTagHelper">Image icon</kendo-button>

// HTML Helper, generates this: <button id="ComplexModelProperty_ButtonHtmlHelper" name="ComplexModelProperty.ButtonHtmlHelper" type="button">
@(Html.Kendo().Button()
      .Name("ComplexModelProperty.ButtonHtmlHelper")
      .HtmlAttributes(new { type = "button" })
      .Content("Image icon"))

I only tested with these two components to verify this wasn't an issue specific to the ListBox component, but I'm assuming this is a problem with any component when using Tag Helpers. After looking at some of the relevant code, I'm guessing this could be corrected by updating the GenerateId() method in the TagHelperBase class (ex. by calling something like GenerateIdFromName() that would handle sanitizing the value).

I also found this forum post from over two years ago reporting what appears to be this same issue. There was a reply that acknowledged the issue and offered a workaround "until this issue is fixed", however after two years I would think something like this would have already been fixed (a bug that applies to all Tag Helpers, results in invalid HTML being generated, and can be fixed by using a built-in .NET method that was created specifically for this purpose).

Unplanned
Last Updated: 08 Oct 2020 12:11 by ADMIN

It would be useful to have an exemple of how to uploda directly to an Azure Storage container from a Kendo UI upload or FileManager component.

 

Unplanned
Last Updated: 01 Oct 2020 10:34 by Jon
Created by: Jon
Comments: 2
Category: UI for ASP.NET Core
Type: Feature Request
6

Hallo Teleirk team

Please add Rotate function to the imageeditor

Thank you

https://demos.telerik.com/aspnet-core/imageeditor/index

 

Best regards

Murat from Zurich

 

Completed
Last Updated: 25 Aug 2021 12:55 by ADMIN
Release 2021.R2
Created by: Marcin
Comments: 4
Category: UI for ASP.NET Core
Type: Feature Request
1

Since support for cancellation token on user vote:

https://feedback.telerik.com/aspnet-core-ui/1357637-duplicate-kendo-mvc-extensions-support-for-cancellationtokens

https://feedback.telerik.com/aspnet-mvc/1357593-todatasourceresultasync-should-support-cancellation-token

was declined and is unplanned.

I would like to implement it by myself.

However most of methods used by code is private or internal, so extending current one is difficult to achieve without copying a lot of existing methods and marking them public. It would be good make them part of public api so implementing own extension to ToDataSourceResult and ToTreeDataSourceResult would be possible. Currently it is not.

Kind Regards

Marcin

Unplanned
Last Updated: 02 Oct 2020 08:28 by ADMIN
Created by: PAS
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
5

We want to have a tabstrip that a user can select the tabs that he wants with checkbox. For example:

It will be a great feature.

<div id="tabstrip">
      <ul>
             <li>@Html.Checkbox("name",false) A </li>
      </ul>
</div>

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]
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 ]
Unplanned
Last Updated: 13 Aug 2020 13:32 by ADMIN
Created by: JeffSM
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
1
Having a component that is an equivalent of the RadPanorama (https://docs.telerik.com/devtools/winforms/controls/panorama/overview) would be nice to have in UI for ASP.NET Core. 
Unplanned
Last Updated: 16 Jul 2020 13:35 by ADMIN

Currently the components accept only ClientTemplates. From an ASP.NET perspective it is more  convenient to store the templates in ~Views\Shared\DisplayTemplates folder.

Please provide a new method TemplateView("ViewName") that will look for the partial in the folders much like we have it for the EditorTemlates.

Completed
Last Updated: 09 Oct 2020 10:56 by ADMIN
Release 2020.R3.SP.next
Such mechanism is available for the Kendo HTML helper methods (ToClientTemplate). But similar mechanism is missing from the Tag Helpers. 
Completed
Last Updated: 09 Jun 2021 07:35 by ADMIN
Created by: Jon
Comments: 4
Category: UI for ASP.NET Core
Type: Feature Request
1

Hi Telerik Team

We think it might be very useful an component in telerik like this one https://fengyuanchen.github.io/cropperjs/  for rotate, crop, resize, zoom and move. with a picture box like https://ashleydw.github.io/lightbox/#videos-gallery

If you implement this we will very happy

Thank you

 

 

Completed
Last Updated: 20 May 2022 14:16 by ADMIN
Release 2022.R2.SP.next

kendo.aspnetmvc.js does not account for server aggregates serialized with came case property names like it does for Groups.

Can the following code (minus the comments) be included in a future release to resolve this?

function translateAggregateResults(aggregate) {
            var obj = {};
            // LSS: support for camel case serialization
            obj[(aggregate.AggregateMethodName || aggregate.aggregateMethodName).toLowerCase()] = (aggregate.Value || aggregate.value);
            return obj;
        }
        function translateAggregate(aggregates) {
            var functionResult = {}, key, functionName, aggregate;
            for (key in aggregates) {
                functionResult = {};
                aggregate = aggregates[key];
                for (functionName in aggregate) {
                    functionResult[functionName.toLowerCase()] = aggregate[functionName];
                }
                aggregates[key] = functionResult;
            }
            return aggregates;
        }
        function convertAggregates(aggregates) {
            var idx, length, aggregate;
            var result = {};
            for (idx = 0, length = aggregates.length; idx < length; idx++) {
                aggregate = aggregates[idx];
                // LSS: support for camel case serialization
                result[(aggregate.Member || aggregate.member)] = extend(true, result[(aggregate.Member || aggregate.member)], translateAggregateResults(aggregate));
            }
            return result;
        }
        extend(true, kendo.data, {
            schemas: {
                'aspnetmvc-ajax': {
                    groups: function (data) {
                        return $.map(this._dataAccessFunction(data), translateGroup);
                    },
                    aggregates: function (data) {
                        data = data.d || data;
                        // LSS: support for camel case serialization
                        var aggregates = data.AggregateResults || data.aggregateResults || [];
                        if (!$.isArray(aggregates)) {
                            for (var key in aggregates) {
                                aggregates[key] = convertAggregates(aggregates[key]);
                            }
                            return aggregates;
                        }
                        return convertAggregates(aggregates);
                    }
                }
            }
        });

Declined
Last Updated: 03 Feb 2023 14:37 by ADMIN
Created by: Akesh Gupta
Comments: 6
Category: UI for ASP.NET Core
Type: Bug Report
1

Bug report

The StringExtensions -> ToCamelCase method(part of Kendo.Mvc.Extenstions) doesn't return the expected Camel case result.

  • More details in ticket # 1458202

Reproduction of the problem

Include the Kendo.Mvc.Extenstions namespace. Define the following in a controller:

        public IActionResult Index()
        {
            string test = "RANDOMStatusId";
            test = test.ToCamelCase();

            return View();
        }

Set a debugger and see the value of the "test" variable.

Current behavior

The returned from the ToCamelCase() method value is "rANDOMStatusId"
image

Expected/desired behavior

The expected result returned from the ToCamelCase() method value is "randomStatusId"

Environment

  • Kendo UI version: 2020.1.219
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 17 Jun 2021 07:08 by ADMIN
We are needing an image editor control for an ASP.Net Core project.  The one in the AJAX does what we want.  Will it be coming to Core in the near future?
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: 18 Jan 2024 07:55 by ADMIN
Release 2024 Q1

Bug report

Validation attributes are not rendered on Kendo editors if ViewData contains same key as the model.

Reproduction of the problem

@{
  ViewData["Title"] = "Home Page"; 
}

@using (Html.BeginForm())
{
  @Html.Kendo().TextBoxFor(model => model.Title)
}

<script>
  $(function () {
    $("form").kendoValidator();
  });
</script>

Current behavior

Validation attributes are not rendered.

Expected/desired behavior

Validation attributes should be rendered on the input element.

Environment

  • Kendo UI version: 2020.1.219
  • Browser: [all]
Unplanned
Last Updated: 05 Feb 2020 11:12 by ADMIN
Created by: Victor
Comments: 2
Category: UI for ASP.NET Core
Type: Feature Request
1
Add support for scaffolding from the command line, similarly to the way views and templates can be generated with the dotnet-aspnet-codegenerator razorpage command.
Completed
Last Updated: 16 Dec 2020 17:26 by ADMIN
Release 2021.R1
Created by: Dennis
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
3

I am looking for an extension to the Grid Columns fluent api that adds .Exportable(true or false).  Exportable(true) would be the default and indicate that this column does get exported when exporting to Excel (or PDF).  Exportable(false) would indicate that the column does NOT get exported.

Imagine the following Grid Definition:

@(Html.Kendo().Grid<Services>
    ()
    .Name("gridMain")
    .Columns(columns =>
    {
        columns.Bound(p => p.ServiceId).ClientTemplateId("rowNumTemplate").Title("Row").Width(50);
        //columns.Bound(p => p.ServiceId).ClientTemplateId("cmdsTemplate").Title("Cmds").Width(125).Media("(min-width: 768px)");
        columns.Bound(p => p.ServiceCode).Media("(min-width: 768px)");
        columns.Bound(p => p.ServiceId).ClientTemplateId("xsTemplate").Title("Service / Desc / Code").Media("(max-width: 768px)");
        columns.Bound(p => p.ServiceId).ClientTemplateId("serviceTemplate").Title("Service / Desc").Media("(max-width: 992px) and (min-width: 768px)");
        columns.Bound(p => p.ServiceName).Media("(min-width: 992px)");
        columns.Bound(p => p.ServiceDescription).Media("(min-width: 992px)");
        columns.Bound(p => p.ServiceActive).ClientTemplateId("activeTemplate").Width(60).Media("(min-width: 768px)");
        columns.Bound(p => p.ServiceId).ClientTemplateId("btnsTemplate").Title("View/Edit/Del").Width(150);
        //columns.Bound(p => p.ServiceId).ClientTemplateId("xsCmdsTemplate").Title("Cmds").Media("(max-width: 768px)");
    })
    .Scrollable(scrollable => scrollable.Endless(true))
    .Pageable(p => p.Numeric(false).PreviousNext(false))
    .ToolBar(t => t.Search())
    .Search(s => { s.Field(c => c.ServiceCode); s.Field(c => c.ServiceName); s.Field(c => c.ServiceDescription); })
    .Resizable(resize => resize.Columns(true))
	.ToolBar(t => t.Excel().Text("Excel"))
    .Excel(excel => excel
		.FileName("ABT_Services.xlsx")
		.Filterable(true)
	)
    .DataSource(dataSource =>
    dataSource
    .WebApi()
    .PageSize(Model.GridPageSize)
    .Model(model =>
    {
        model.Id(p => p.ServiceId);
    })
    .Events(events => events.Error("errorHandler").RequestEnd("gridMainRequestEnd"))
    .Read(read => read.Action("Get", "Services"))
    )
)

What I would like to do is define a column like the following:

        columns.Bound(p => p.ServiceId).ClientTemplateId("rowNumTemplate").Title("Row").Width(50).Exportable(false);

In the case above, the "Row" column would not be Exported to Excel.

If you take a closer look at the Columns definition above you will see that the configuration is implemented to support responsive page sizing.  Because the current implementation of Export to Excel does not allow an Exportable(true/false), I get these columns that I don't want in the exported Excel.

Although there appear to be workarounds (like keeping a second hidden grid -- a poor solution at best), none would be as useful to a Developer as defining an Exportable(true/false) as part of the Column configuration.

Thanks for considering my request.