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).
The Rating is unresponsive.
The Rating works properly.
Even when using server side paging some requests can be very long, and may be canceled by the user. Adding a CancellationToken parameter to the ToDataSourceResultAsync.
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.
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>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
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"
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.
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)
)
)
The Menu TagHelper does not render correct links for its items when the asp-page attribute is used.
With area it does not render a link at all:
<menu-item text="Home" asp-area="Products" asp-controller="Home" asp-action="About"></menu-item>
Without area it renders an incorrect link
<menu-item text="Login" asp-area="Products" asp-page="/Books"></menu-item>
When a model property is decorated with data annotation attributes, the RadioButton HtmlHelper does not properly render the data-val and data-val-required attributes on the element.
Expected behavior: Data attributes should be successfully rendered on the <input> element.
Hi, Any plan to release asp.core with angular 2 template like mvc5 with angular .
Using .Net Core 3.0
ToDataSourceResult raises an exception if the DataSourceRequest has Aggregates
the exception says that there is no constructor with the following signature:
Void Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions(
Microsoft.CodeAnalysis.OutputKind,
Boolean,
String,
String,
String,
Collections.Generic.IEnumerable`1<String>,
Microsoft.CodeAnalysis.OptimizationLevel,
Boolean,
Boolean,
String,
String,
Collections.Immutable.ImmutableArray`1<Byte>,
Nullable`1<Boolean>,
Microsoft.CodeAnalysis.Platform,
Microsoft.CodeAnalysis.ReportDiagnostic,
Int32,
IEnumerable<KeyValuePair<String,Microsoft.CodeAnalysis.ReportDiagnostic>>,
Boolean,
Boolean,
Microsoft.CodeAnalysis.XmlReferenceResolver,
Microsoft.CodeAnalysis.SourceReferenceResolver,
Microsoft.CodeAnalysis.MetadataReferenceResolver,
Microsoft.CodeAnalysis.AssemblyIdentityComparer,
Microsoft.CodeAnalysis.StrongNameProvider,
Boolean,
Microsoft.CodeAnalysis.MetadataImportOptions,
Microsoft.CodeAnalysis.CSharp.NullableContextOptions
)
I traced the error down to the method that causes it :
CSharpCompilation CreateCompilation(SyntaxTree syntaxTree)
It would be helpful if the following two options are added to the Telerik ASP.NET Core MVC Application VS template:
1. An option to enable Authorization in the project. It can be enabled in the default ASP.NET Core Web Application, but there is no option to do so in Telerik's template.
2. An option to choose whether CDN will be used for the Kendo UI client resources, or the required files will be registered locally.