When certain options of the editable Window are set through configuration, they are not being serialized correctly:
MinWidth
MinHeight
Events (Open, Close, etc.)
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>
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)
### Bug report
When the Dialog is configured with actions and the Content Security Policy is enabled, it throws an "Invalid template" error.
### Reproduction of the problem
1) Configure a Dialog widget with actions and set the CSP with the following content:
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline' https://kendo.cdn.telerik.com https://code.jquery.com; style-src 'self' 'unsafe-inline' https://kendo.cdn.telerik.com;" />
2) Open the browser console to review the error.
A Dojo sample for reproduction: https://dojo.telerik.com/ULOyazUC
### Expected/desired behavior
The Dialog should be rendered correctly without using the 'unsafe-eval' keyword in the "script-src" directive.
### Workaround
Insert the following script before the Dialog initialization:
<script>
kendo.ui.Dialog.fn._mergeTextWithOptions = function(action) { var text = action.text; if(text) { return kendo.isFunction(text) ? text(this.options) : text; } return ""; }
</script>
### Environment
* **Kendo UI version: 2023.2.606
* **jQuery version: 3.4.1
* **Browser: [all]
When both UI for ASP.NET MVC and UI for ASP.NET Core Visual Studio extensions are installed and only UI for ASP.NET Core project is loaded, the notification for new version is shown for UI for ASP.NET MVC.
### Bug report
When Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet package is installed in Telerik UI for ASP.NET Core application, it throws an exception:
FileNotFoundException: Could not load file or assembly 'Microsoft.DotNet.InternalAbstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.
### Reproduction of the problem
1. Create Telerik UI for ASP.NET Core MVC application (.NET Core version 6.0).
2. Install Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet package (version 6.0.5).
3. Turn on the Razor Runtime Compilation:
//Program.cs file
// Add services to the container.
builder.Services.AddControllersWithViews()
.AddNewtonsoftJson(options => options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver())
.AddRazorRuntimeCompilation();
4. Run the application and review the exception.
Attached is a runnable sample for reproduction.
### Workaround
Install Microsoft.DotNet.InternalAbstractions NuGet package (version: 1.0.0)
### Environment
* **Kendo UI version: 2022.2.510
* **jQuery version: 1.12.4
* **Browser: [all]
When the Columns.Command.Edit.UpdateText property is set to Update
, the text will not be modified and will remain as the default value Save
.
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.ProductViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Command(command => {
command.Edit().UpdateText("Update"); //Will not work
}).Width(250);
})
//....
)
REPL
https://netcorerepl.telerik.com/wIuyvtcO41rAa82G36
The text should change to the specified content within UpdateText.
Set the text via JavaScript using the setOptions method and columns.command.text:
$(document).ready(function(){
var grid = $("#grid").data("kendoGrid");
var options = grid.getOptions();
//set the text for the first command in the last column
// as shown in the second example on:
//https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/configuration/columns.command#columnscommandtext
options.columns[4].command[0].text = { edit: "Edit", update: "Update" };
grid.setOptions(options);
});
REPL
https://netcorerepl.telerik.com/wIYeGmOz39LL8mHN26
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<
form
class
=
"form-horizontal"
method
=
"post"
>
<
h4
>Standard textbox:</
h4
>
@Html.TextBoxFor(m => m.Candidate.CandidateId)
<
h4
>Kendo textbox:</
h4
>
@Html.Kendo().TextBoxFor(model => model.Candidate.FirstName)
<
div
class
=
"form-group"
>
<
div
>
<
button
type
=
"submit"
class
=
"btn btn-default"
>Submit</
button
>
</
div
>
</
div
>
</
form
>
public
class
IndexModel : PageModel
{
[BindProperty]
public
CandidateViewModel Candidate {
get
;
set
; }
public
void
OnGet()
{
}
public
void
OnPost()
{
ViewData[
"firstname"
] = $
"{Candidate.FirstName}"
;
ViewData[
"candidateid"
] = $
"{Candidate.CandidateId}"
;
}
}
public
class
CandidateViewModel
{
[Key]
[Display(Name =
"Candidate ID"
)]
public
int
CandidateId {
get
;
set
; }
[Required]
[Display(Name =
"First Name"
)]
public
string
FirstName {
get
;
set
; }
}
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.
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
Validation attributes are not rendered on Kendo editors if ViewData contains same key as the model.
@{
ViewData["Title"] = "Home Page";
}
@using (Html.BeginForm())
{
@Html.Kendo().TextBoxFor(model => model.Title)
}
<script>
$(function () {
$("form").kendoValidator();
});
</script>
Validation attributes are not rendered.
Validation attributes should be rendered on the input element.
Dears,
While browsing the new components of UI for Asp Core, I found an Issue in the provided online sample (https://demos.telerik.com/aspnet-core/ripplecontainer/index)
After transferring and moving items between the lists of "RIPPLE ON LIST ITEMS", the list display the raw HTML of the items. So, I provided a screen record reproducing the issue (https://pasteboard.co/I7Fx0AW.gif).
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
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.
The StringExtensions -> ToCamelCase method(part of Kendo.Mvc.Extenstions) doesn't return the expected Camel case result.
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.
The returned from the ToCamelCase() method value is "rANDOMStatusId"
The expected result returned from the ToCamelCase() method value is "randomStatusId"
Trying to attach an event to the Core Sparkline wrapper like this:
@(Html.Kendo().Sparkline()leads to a compilation error:
Error CS0121 The call is ambiguous between the following methods or properties: 'SparklineBuilder<T>.Events(Action<ChartEventBuilder>)' and 'SparklineBuilder<T>.Events(Action<SparklineEventBuilder>)'
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 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.