The Thumbnail() option of the Editor's ImageBrowser configuration does not provide UrlHandler() option, which is available for the Image() option.
Referenced in this commit
The UrlHandler() function must be available to set the URL that serves the thumbnail using a JavaScript handler.
1682129
### Bug report
The File() option of the Editor's FileBrowser configuration does not provide UrlHandler() option, which is available for the ImageBrowser.
### Reproduction of the problem
1) Define an Editor and enable the FileBrowser feature:
@(Html.Kendo().Editor()
.Name("Description")
.Tools(tools => tools
.Clear()
.InsertFile()
)
.FileBrowser(fileBrowser => fileBrowser
.File("GetFile", "FileBrowser", new { path = "{0}" })
.Read("Read", "FileBrowser")
.Create("Create", "FileBrowser")
.Destroy("Destroy", "FileBrowser")
.Upload("Upload", "FileBrowser")
)
)
2) The File() option sets URL responsible for serving the original file. Try to set it by using a JavaScript handler.
3) The File(x => x.UrlHandler("setURLHandler")) configuration is not available.
### Expected/desired behavior
The UrlHandler() function must be available to set the URL that serves the file using a JavaScript handler.
### Environment
* **Telerik UI for ASP.NET Core version: 2025.1.211
* **Browser: [all]
Hi Team,
Currently, Telerik.Licensing NuGet package only has target for netstandard2.0, netframework462 and net6.0. I cannot use .NET 6 for my .NET 9 application because .NET 6 is out of support.
This is a feature request to either
Thank you,
Arthur
### Bug report
When loading a PDF file using the PDFViewer configured for DPL processing, the file content is loaded partially.
### Reproduction of the problem
1) Open the DPL Processing Demo: https://demos.telerik.com/aspnet-core/pdfviewer/dpl-processing
2) The file content is not loaded as expected.
The issue started to occur in version 2025.1.211. When comparing the responses of the "pdfviewer/getinitialpdf?pageNumber=1" request, the response when using the previous version (2024.4.1112) is longer than that of version 2025.1.211.
### Expected/desired behavior
The content of the loaded PDF file must be complete.
### Environment
* **Telerik UI for ASP.NET Core version 2025.1.211
* **Browser: [all]
Dojo example: https://dojo.telerik.com/eRazIrIB
The data is requested, but it is not displayed in the Grid.
The data is displayed, regardless of the type of loader used.
### Bug report
When deferring the component scripts to a file and a specified item of a Form HtmlHelper has a defined editor through the Editor() configuration, a client-side error is thrown:
"Uncaught Error: Syntax error, unrecognized expression: #"
### Reproduction of the problem
1) Enable the global deferred initialization.
2) Define a Form HtmlHelper with a ComboBox editor for one of its items:
@model FormViewModel
@(Html.Kendo().Form<FormViewModel>()
.Name("form")
.HtmlAttributes(new { action = @Url.Action("SubmitData", "Home"), method = "POST" })
.FormData(Model)
.Items(items =>
{
items.Add()
.Field(f => f.Username)
.Label(l => l.Text("Username:"));
items.Add()
.Field(f => f.City)
.Label(l => l.Text("City"))
.Editor(editor => editor
.ComboBox()
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem() { Text = "City A", Value = "1" },
new SelectListItem() { Text = "City B", Value = "2" },
new SelectListItem() { Text = "City C", Value = "3" }
})
);
})
)
@(Html.Kendo().DeferredScriptFile())
3) When the page with the Form is loaded, open the browser console and examine the error. Review the content of the loaded kendo-deferred-scripts-xxxxx.js file - the ComboBox initialization script is included after the Form initialization script. Attached you can find screenshots.
When using the TagHelper version of the Form, the ComboBox initialization script is included in the kendo-deferred-scripts-xxxxx.js file before the initialization script of the Form with a unique generated "id" for example "3451ce77-2736-437f-9584-f5a5255902c2". In this case, no client-side errors occur.
### Expected/desired behavior
When deferring the component scripts to a file, the Form with specified editors must be initialized as expected without client-side errors.
### Workaround
Use the TagHelper version of the Form or define the editor by using the EditorTemplateView() option:
items.Add()
.Field(f => f.City)
.Label(l => l.Text("City"))
.EditorTemplateView(Html.Partial("ComboEditor"));
// ~/Views/Shared/ComboEditor.cshtml
@model FormViewModel
@(Html.Kendo().ComboBoxFor(m => m.City)
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>() {
new SelectListItem() { Text = "City A", Value = "1" },
new SelectListItem() { Text = "City B", Value = "2" },
new SelectListItem() { Text = "City C", Value = "3" }
})
)
### Environment
* **Telerik UI for ASP.NET Core version: 2024.4.1112
* **Browser: [ all ]
When enabling Editing for the Grid or TreeList a "No License" overlay is displayed in the following scenarios:
@(Html.Kendo().Grid<TelerikMvcApp13.Models.OrderViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.OrderID).Filterable(false);
columns.Bound(p => p.Freight);
columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}");
columns.Bound(p => p.ShipName);
columns.Bound(p => p.ShipCity);
columns.Command(c => c.Edit());
})
.Editable(e=>e.Mode(GridEditMode.PopUp))
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Model(m=>m.Id(o=>o.OrderID))
.Read(read => read.Action("Orders_Read", "Grid"))
.Update(read => read.Action("Orders_Update", "Grid"))
.Create(read => read.Action("Orders_Create", "Grid"))
.Destroy(read => read.Action("Orders_Destroy", "Grid"))
)
)
@(Html.Kendo().TreeList<Kendo.Mvc.Examples.Models.TreeList.EmployeeDirectoryModelPopUp>()
.Name("treelist")
.Toolbar(toolbar => toolbar.Create())
.Columns(columns =>
{
columns.Add().Field(e => e.FirstName).Width(220).Title("First Name");
columns.Add().Field(e => e.LastName).Width(100).Title("Last Name");
columns.Add().Field(e => e.Position);
columns.Add().Field(e => e.HireDate).Format("{0:MMMM d, yyyy}");
columns.Add().Field(e => e.Phone).Width(200);
columns.Add().Field(e => e.Extension).Width(140).Title("Ext").Format("{0:#}");
columns.Add().Width(300).Command(c =>
{
c.CreateChild().Text("Add child");
c.Edit();
c.Destroy();
});
})
.Editable(e => e.Mode("popup"))
.DataSource(dataSource => dataSource
.Create(create => create.Action("Create", "EmployeeDirectory"))
.Read(read => read.Action("All", "EmployeeDirectory"))
.Update(update => update.Action("Update", "EmployeeDirectory"))
.Destroy(delete => delete.Action("Destroy", "EmployeeDirectory"))
.Model(m =>
{
m.Id(f => f.EmployeeId);
m.ParentId(f => f.ReportsTo);
m.Expanded(true);
m.Field(f => f.FirstName);
m.Field(f => f.LastName);
m.Field(f => f.ReportsTo);
m.Field(f => f.HireDate);
m.Field(f => f.Extension).DefaultValue(0);
m.Field(f => f.Position);
})
)
.Height(540)
)
No overlay and popup should be displayed in case of valid license.
(optional)
Provide the TicketID, where the bug report initiated.
The column format applied through the .Format() option is ignored, if the column is bound to a nullable DateOnly field.
public DateOnly? PaymentDate { get; set; }
columns.Bound(p => p.PaymentDate).Title("Date").Format("{0:MM/dd/yyyy}").Width(160);
The specified format is ignored, e.g., the Grid shows 2025-01-21, instead of 01/21/2025
The specified column format is applied.
### Bug report
When the Grid filter menu is customized with a DropDownList, the initial option defined by using the "index" property is not set.
### Reproduction of the problem
A Dojo sample for reproduction: https://dojo.telerik.com/OmeXUfaF
### Expected/desired behavior
The DropDownList should be initialized with an initially selected option.
### Environment
* **Kendo UI version: 2022.1.119
* **jQuery version: 1.12.4
* **Browser: [all]
The last checkbox selection is not disabled and allows all the columns to be removed if the menu options for the command column are explicitly set to false:
The last checkbox selection should be disabled without allowing all the columns to be removed if the menu options for the command column are explicitly set to false:
The following dojo depicts the aforementioned behavior.
MultiSelect configured for server-filtering="true" sends an empty request on focusout
<kendo-multiselect for="SelectedOrderIds" style="width:100%"
placeholder="Select addresses..."
datatextfield="ShipName"
datavaluefield="OrderID"
filter="FilterType.Contains"
value="Model.SelectedOrders.Select(x=>x.OrderID)">
<datasource type="DataSourceTagHelperType.Ajax" server-filtering="true">
<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>
</kendo-multiselect>
An empty request is sent, fetching all data.
A request should not be sent.
Trouble on iPad 6/7/8 with Safari.
Using grid with batch and incell edit mode.
Datepicker is not working. It just shows the text box to manually type in date.
Every once in a while the date picker pops up and stays for selection.
Sometimes I see the dat picker, but it goes away suddenly before being able to set a date.
When a Grid's row is reordered and then the changes are saved - a Destroy request is sent to the server for the dataItem of the reordered row. This happens even though no changes are applied to dataItem of the reordered row.
The Grid should request the reordered item to be perished from the backend.
Dynamic Grid produces a RunTimeException when the Filterable() configuration is enabled
System.ArgumentNullException: Value cannot be null.
Example
@model System.Data.DataTable
@(Html.Kendo().Grid<dynamic>()
.Name("gridItem")
.Columns(columns =>
{
foreach (System.Data.DataColumn dcolumn in Model.Columns)
{
columns.Bound(dcolumn.ColumnName).Title(dcolumn.Caption);
}
})
...
.Filterable()
)
The aforementioned declaration will work in the previous 2024.3.1015 version of the suite.
The Grid makes the application throw a runtime error.
The Grid makes the application should not throw a runtime error.
The Start Event of a Sortable component is mapping to the "handler" configuration instead of the proper "start" event
REPL: https://netcorerepl.telerik.com/wIYLYnld333JlP3t08
The Start Event is mapped to the "handler" configuration
The Start Event to be mapped to the proper "start" event
TicketID: 1673355
The Pickers are not bound to model value when a nullable DateTime is set.
public class MyModel
{
public DateTime? Birthday { get; set; }
}
@(Html.Kendo().TimePickerFor(m => m.Birthday))
The Pickers are not bound to model value when nullable.
The Pickers are not bound to model value when a nullable DateTime is set.
Kendo UI version: 2024.4.1112
jQuery version: x.y
Browser: [all]
### Bug report
When the project is configured for runtime compilation, and the TagHelper DropDownList has custom classes or attributes, NullReferenceException is thrown.
### Reproduction of the problem
1. Create a .NET 8 project and install the Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet package.
2. Define a TagHelper DropDownList and add a custom class:
//Program.cs
builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();
builder.Services.AddMvc().AddJsonOptions(options => options.JsonSerializerOptions.PropertyNamingPolicy = null);
builder.Services.AddKendo();
//View
<kendo-dropdownlist for="Id" datatextfield="Text" datavaluefield="Value" auto-width="true" class="form-control w-75">
<datasource type="Kendo.Mvc.UI.DataSourceTagHelperType.Ajax">
<transport>
<read url="@Url.Action("GetData", "Home")"/>
</transport>
</datasource>
</kendo-dropdownlist>
3. Run the application and observe the exception: "NullReferenceException: Object reference not set to an instance of an object."
4. When using the HtmlHelper version of the DropDownList or removing the custom class from the TagHelper declaration, the error does not occur.
### Expected/desired behavior
The TagHelper DropDownList must exhibit the same behavior as the HtmlHelper DropDownList.
### Workaround
Add the custom class with jQuery:
<kendo-dropdownlist for="Id" datatextfield="Name" datavaluefield="Id" auto-width="true">
...
</kendo-dropdownlist>
<script>
$(document).ready(function(){
$("#Id").addClass("form-control w-75"); // add the class to the hidden input element
$("#Id").attr("required", "required");
$("#Id").closest("span.k-dropdownlist").addClass("form-control w-75"); // add the class to the wrapper element
});
</script>
Alternatively, switch to the HtmlHelper version of the DropDownList.
### Environment
* **Telerik UI for ASP.NET Core version: 2024.4.1112
* **Browser: [all]
The custom ordering of the filter values in the Telerik UI ASP.NET Core Grid does not function correctly when using TagHelpers.
A REPL sample for reproduction: https://netcorerepl.telerik.com/wIYNvEvn00CAqNGL14
The filter values should be presented in the same order as specified in the Filterable configuration.
### Bug Report
Picker TagHelpers do not set the "value" attribute in conjunction with the "for" attribute.
### 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, DateInputFor, or TimePickerFor TagHelpers and set an initial value:
@model OrderViewModel
<kendo-dateinput for="OrderDate" value="DateTime.Now">
...
</kendo-dateinput>
3. Notice, that the value has not been assigned accordingly.
This behavior is not consistent with the HTMLHelper, as the Value() attribute is taken more predominantly when the PickerFor HtmlHelper is utilized:
@(Html.Kendo().DatePickerFor(m => m.ShippedDate) .Value(DateTime.Today) )