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).
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).
When the Model for the Grid inherits the CustomTypeDescriptor, an error is thrown.
Open the attached sample project -
TelerikAspNetCoreApp3.zip
Load the About page
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)
The view should load without any errors
The DatePicker's popup has a CSS min-height property set that causes it to sometimes have an empty blank space at the bottom.
Review another occurence.
There should be a blank space in the DatePicker's popup.
### Bug report
The Button TagHelper is missing in the Visual Studio 2022 IntelliSense.
### Reproduction of the problem
Create a Telerik UI for ASP.NET Core application (.NET 6) and try to insert a Button TagHelper by using the IntelliSense. It appears that not all available Telerik UI components are available in the suggested list.
### Environment
* **Visual Studio Professional 2022 version: 17.1.0 Preview 1.1
* **Kendo UI version: 2021.3.1109
* **jQuery version: 1.12.4
* **Browser: [all]
If you use "Edit in REPL" button in any demo that uses `kendoConsole.log()`, it will throw an error that the kendoConsole doesn't exist (you can use the Upload > Events demo as a quick example).
This is happening because the kendoConsole is only a part of demos.telerik.com pages that does not get copied over to the REPL or Dojo because it is irrelevant to the demo itself. The fix is to change all kendoConsole.log() instances to console.log()
That said, I am opening this bug report so that the dev team can consider ways to handle the "edit in" scenarios.
Thank you,
Arthur
There is a new CheckBoxTagHelper to support the new rendering, but the public ModelExpression For { get; set; } property is missing.
Currently, the ToCamelCase() method lowers only the first letter, as per the example below:
Is it possible to create another overload of the ToCamelCase() method that transforms the string to "randomStatusId"?
In the ThemeBuilder the controls do not use the latest version.
For instance while playing around with the ThemeBuilder I noticed that the primary button does not look primary like on the demos page.
Also it would be helpful to provide a page where you explain where every color is used.
As per the subject, if you use jQuery to get a Kendo TabStrip in a ComboBox change event it inserts this div into the TabStrip control:
<div class="k-tabstrip-items-wrapper k-hstack">
<ul class="k-tabstrip-items k-reset" role="tablist"></ul>
</div>
This used to work as we were changing the selected tab in a TabStrip based on a ComboBox selection, but this no longer works. Please see the following REPL where a new div is added every time you change the ComboBox value:
https://netcorerepl.telerik.com/mxETafaT24zWOe0C50
Kind regards,
David
I'm looking to add the Nonce to the standard inline kendo initialization scripts rather that having to defer initialization and output the initialization scripts in a script tag with a nonce, as demonstrated in the documentation https://docs.telerik.com/aspnet-core/html-helpers/helper-basics/content-security-policy#for-r1-2023-sp1-and-later-working-with-telerik-ui-for-aspnet-mvc-components
Running WAVE on websites that use the Slider throw up a load of alerts to do with "Redundant title text" and "Unlabeled form control with title".
You can see examples of this on any demo page such as the Basic Usage one.
Can you please remove the offending attributes - or come up with values that don't throw these issues up? I'm not sure if they're in place to work with ToolTips, but if we elect not to support ToolTips (which is default behaviour) then they are effectively redundant.
I don't want to have to do this myself in script because it is an unnecessary overhead and may cause downstream issues in your code.
When uncheck "Use localization" while create project the Localization resources are still auto copied while publish the project.
The resources are part of the telerik.ui.for.aspnet.core.yyyy.q.mmdd.nupkg and therefore are copied to the bin folder regardless of the "Use localization" option. The "Use localization" option controls the availability only of the messages files.
This a feature request for providing another lightweight NuGet which does not contain the localization dlls that could be used for non-localized projects.