Telerik Forums
UI for ASP.NET MVC Forum
3 answers
525 views
We need your feedback, because we are considering changes in the release approach for Telerik UI for ASP.NET MVC. Please provide your feedback in the comments section below:


1. Is it hard to understand the version numbers of our releases? If yes, what makes them hard to understand them?

2. Would semantic versioning (SemVer) of our releases make it easier to understand our version numbers and what's behind them?

3. If we go with SemVer, we might need to start with version 3000.0.0 as we currently use 2022.x.x. Please share your thoughts about this approach and ideas for what number versioning would work best for you.

Joe
Top achievements
Rank 1
Iron
Iron
 answered on 11 Nov 2024
1 answer
7 views

I am trying to call an external web api with the autocomplete but can't seem to pass the autocomplete value as I need to.  I need to pass the value at the end of the URL like:  https://webapiurl/api/{value} .  The farthest I got is passing the value but as a querystring parameter (https://webapiurl/api?name=value), this doesn't work, I get a 404 error.  How can I concatenate the value at the end of the URL?

 

@(Html.Kendo().AutoComplete().Name("auto")
    .DataTextField("Name")
    .Filter("contains")
    .MinLength(4)
    .DataSource(source =>
        {
            source.Read(r =>
            {
                r.Url("https://webapiurl/api")
                    .Data("onAdditionalData");
            })
            .ServerFiltering(false);
        })
    )

<script>
    function onAdditionalData() {
        return {
            name: $("#auto").val()
        };
    }
</script>

Ivaylo
Telerik team
 answered on 16 Sep 2025
0 answers
4 views

I have two draggable grids, but the second has no drop point, just a circle with a line through it. Can you tell me why the second grid allows me to drag the row but no where to drop?

 

                        // QUESTIONS
                        tab.Add().Selected(true).Text("Questions").Content(@<text>
                        @(Html.Kendo().Grid<TemplateQuestionVM>()
                            .Name("AI_TemplateQuestionGrid")
                            .ToolBar(toolbar =>
                            {
                                if (Model.TemplateId != 0) toolbar.New("TemplateQuestionEdit", "Template Question", $"AI/TemplateQuestion/edit?parentId={Model.TemplateId}");
                                toolbar.SuperSearchWindow("TemplateEdit", "AI_TemplateQuestionGrid");
                            })
                            .Height(600)
                            .DataSource(dataSource => dataSource
                                .Ajax()
                                .Sort(s => s.Add("Sequence"))
                                .Read(read => read.Action("Read", "TemplateQuestion", new { parentId = Model.TemplateId }).SuperSearchWindow("TemplateEdit", "AI_TemplateQuestionGrid"))
                                .Model(m => m.Id(f => f.TemplateQuestionId))
                            )
                            .Columns(columns =>
                            {
                                columns.Bound(c => c.TemplateQuestionId).Width(1).Title("").Filterable(false);
                                columns.Bound(c => c.Sequence).Width(80).Title("Seq").Filterable(false);
                                columns.Template("").Draggable(true).Width(80);
                                columns.Bound(c => c.QuestionName).Title("Question").Filterable(false);
                                columns.Bound(c => c.TemplateQuestionId).Edit("TemplateQuestionEdit", "Template Question", "AI/TemplateQuestion/edit/#=TemplateQuestionId#");
                            })
                            .Filterable()
                            .Scrollable()
                            .Sortable()
                            .Reorderable(order => order.Rows(true))
                            .Events(ev => { ev.RowReorder("function(e) { dragRow(e, 'AI_TemplateQuestion', 'TemplateId', " + Model.TemplateId + "); }"); })
                        )</text>);

                        // VARIABLES
                        tab.Add().Selected(false).Text("Variables").Content(@<text>
                        @(Html.Kendo().Grid<TemplateVariableVM>()
                            .Name("AI_TemplateVariableGrid")
                            .ToolBar(toolbar =>
                            {
                                if (Model.TemplateId != 0) toolbar.New("TemplateVariableEdit", "Template Variable", $"AI/TemplateVariable/edit?parentId={Model.TemplateId}");
                                toolbar.SuperSearchWindow("TemplateEdit", "AI_TemplateVariableGrid");
                            })
                            .Height(600)
                            .DataSource(dataSource => dataSource
                                .Ajax()
                                .Sort(s => s.Add("Sequence"))
                                .Read(read => read.Action("Read", "TemplateVariable", new { parentId = Model.TemplateId }).SuperSearchWindow("TemplateEdit", "AI_TemplateVariableGrid"))
                                .Model(m => m.Id(f => f.TemplateVariableId))
                            )
                            .Columns(columns =>
                            {
                                columns.Bound(c => c.TemplateVariableId).Width(1).Title("").Filterable(false);
                                columns.Bound(c => c.Sequence).Width(80).Title("Seq").Filterable(false);
                                columns.Template("").Draggable(true).Width(80);
                                columns.Bound(c => c.VariableCode).Width(200).Title("Variable").Filterable(false);
                                columns.Bound(c => c.VariableName).Title("Name").Filterable(false);
                                columns.Bound(c => c.VariableType).Width(200).Title("Type").Filterable(false);
                                columns.Bound(c => c.TemplateVariableId).Edit("TemplateVariableEdit", "Template Variable", "AI/TemplateVariable/edit/#=TemplateVariableId#");
                            })
                            .Filterable()
                            .Scrollable()
                            .Sortable()
                            .Reorderable(order => order.Rows(true))
                            .Events(ev => { ev.RowReorder("function(e) { dragRow(e, 'AI_TemplateVariable', 'TemplateId', " + Model.TemplateId + "); }"); })
                        )</text>);
Dale
Top achievements
Rank 1
Iron
 asked on 16 Sep 2025
1 answer
6 views
Hi Team,

I am using kendo date picker for in custom editor template for a kendo grid for pop up editing which is bind to datetime field of the model, now while displaying the value in the kendo date picker in custom editor template the value is displayed according to the user/client machine time zone which is changing the date value when the user is in some other time zone other than EST as application server is in EST , how to resolve the display issue in the kendo date picker for??
I am using the below code in custom editor template.
Please guide how to resolve this?


<div class="editor-field">
        @(Html.Kendo().DatePickeFor(m=>m.EndDate)
            .Format("MM/dd/yyyy")
            .Value(Model.EndDate)
           )
        @Html.ValidationMessageFor(m => m.EndDate)
</div>
Mihaela
Telerik team
 answered on 15 Sep 2025
1 answer
12 views

Hi,

My job is using the ANDI Accessibility Tool to test for accessibility and Section 508 compliance.

The tool keeps telling me that the, "Grid Element has no accessible name."  I have tried all of the suggestions listed in your online Grid Accessibility document.  However, I'm still getting the same message.

I also used the ANDI tool on your accessibility grid example and I received the same message.

Can someone assist me with this issue?

ANDI is a free Chrome Extension: https://chromewebstore.google.com/detail/unofficial-andi/fehcidpnbiemiekbbgligjlgjbhjchon.

I am including the results from my application and from your online demo grid.

Thanks,

Trena

Anton Mironov
Telerik team
 answered on 12 Sep 2025
2 answers
7 views
Is there a way to cancel item remove in the remove event handler? Something similar to preventDefault()
Anton Mironov
Telerik team
 answered on 11 Sep 2025
1 answer
17 views

Problem:
After enabling Content Security Policy (CSP), Kendo DropDownLists inside a PanelBar fail to initialize. On page load:
• The DropDownList renders as a plain input box.
• PanelBar items appear empty, and data binding does not happen.
• JavaScript access to the DDL fails.

Scenario:
• ASP.NET MVC Razor.
• Dropdown Lists inside PanelBar content templates.
• Worked fine before CSP; now initialization and binding fail.

 

Expected Behavior:
• DDL should initialize and bind data on content load even with CSP.
• PanelBar items should display properly.

 

Example:

@(
                     Html.Kendo().PanelBar()
                     .Name("panelbar")
                     .ExpandMode(PanelBarExpandMode.Multiple)
                     .Items(panelbar =>
                     {
                         panelbar.Add().Text("Note : Please fill all the input")
                         .Content(@<text>
        @(Html.Kendo().DropDownList()
                                            .Name("dropdown")
                                            .OptionLabel("Please Select")
                                            .OptionLabelTemplate("<span style='color:dimgrey;font-size:10px;font-weight:bold'>Please Select</span>")
                                            .DataValueField("id")
                                            .DataTextField("Text")
                                            .Template("#:id # - #:datacolumn # - #:datecolumn #")
.DataSource(source=>{source.Read(read=>{read.Action("action","controller");});})
.Events(e=>{e.Select("onselect");})
                                            )
   </text>
   );

 

Thanks,

Anupriya. R

Anton Mironov
Telerik team
 answered on 09 Sep 2025
1 answer
21 views
hi, I am trying to populate Kendo MVC Grid filter with remote api data but getting js error. Could you help on fixing it? Please find the code snippets and js error below

C# Grid:
@(Html.Kendo().Grid<AggregateModel>()
... .columns.Bound(e => e.AccountType) .Title("Account Type").Width(100) .Filterable(f => f.Multi(true).Search(true).DataSource(ds => ds .Read(read => read.Type(HttpVerbs.Get).Url("api/AccountTypeFilters") .Data("{ field: 'AccountType' }"))));

API Response (api/AcountTypeFilters) : with Text and Value fields
{
    "$id": "1",
    "AccountType": [
        {
            "$id": "2",
            "Disabled": false,
            "Group": null,
            "Selected": false,
            "Text": "Client",
            "Value": "0"
        },
        {
            "$id": "3",
            "Disabled": false,
            "Group": null,
            "Selected": false,
            "Text": "House",
            "Value": "1"
        }
    ]
}

js error:
Uncaught TypeError: n.slice is not a function
    at init.success (kendoscripts.min.js?v=2-0-289-1:1:101049)
    at success (kendoscripts.min.js?v=2-0-289-1:1:100001)
    at i.success (kendoscripts.min.js?v=2-0-289-1:1:88721)
    at v (headerscripts.min.js?v=2-0-289-1:14:35030)
    at Object.fireWith [as resolveWith] (headerscripts.min.js?v=2-0-289-1:14:35775)
    at b (headerscripts.min.js?v=2-0-289-1:14:74792)
    at XMLHttpRequest.<anonymous> (headerscripts.min.js?v=2-0-289-1:14:79897)
    at XMLHttpRequest.wrapFn (webcomponents.js?v=2-0-289-1:2996:35)
    at _ZoneDelegate.invokeTask (webcomponents.js?v=2-0-289-1:2626:171)
    at ZoneImpl.runTask (webcomponents.js?v=2-0-289-1:2425:37)

Kendo.Mvc, Version=2022.1.412.0
Kendo UI js v2018.3.911
Mihaela
Telerik team
 answered on 04 Sep 2025
1 answer
10 views

I had the code below in my dialog to show icons in the action buttons.  It worked on version 2023 R3.  After upgrading to 2025.1.227, all it shows is the code (<span>) text.

Code:

@(Html.Kendo().Dialog()
    .Name("LetterPreviewDialog")
    .Title("Letter Preview")
    .Closable(true)
    .Modal(true)
    .ButtonLayout("normal")
    .Visible(false)
    .Events(e=>e.Close("OnLetterPreviewClose"))
    .Actions(a =>
    {
        a.Add().Text("<span class='k-icon k-font-icon k-i-envelop'></span> Send Letter").Primary(true).Action("SendEmail");
        a.Add().Text("<span class='k-icon k-font-icon k-i-cancel'></span> Cancel").Action("CancelEmail");
    }))

Before:

After:

Ivaylo
Telerik team
 answered on 01 Sep 2025
1 answer
12 views

We have this Command:

columns.Command(c =>
{
    c.Custom("Delete").Text(" ").Click("onClick").IconClass("k-icon k-i-trash").HtmlAttributes(new { @title = Resource.DELETE });
})

And we have this function to set the grid state:

function loadOptions() {
    var options = sessionStorage["userTable-options"];
    
    if (options) {
        var grid = $('#userTable').data('kendoGrid');
        var toolBar = $("#userTable .k-grid-toolbar").html();  // https://stackoverflow.com/questions/27717575/kendo-mvc-persist-and-load-grid-buttons

        var optionsJSON = JSON.parse(options);

        // https://docs.telerik.com/kendo-ui/knowledge-base/grid-persist-customized-filter
        var StatusTranslated = optionsJSON.columns.filter(function (c) { return c.field === "StatusTranslated.Text"; })[0];

        StatusTranslated.filterable = {
            ui: $.proxy(filterDropDownField, { field: 'StatusTranslated' })
        };

        grid.setOptions(optionsJSON);
        $("#userTable .k-grid-toolbar").html(toolBar);
        $("#userTable .k-grid-toolbar").addClass("k-grid-top");
    }
}

 

Before setting the grid state the button executes successfully. After executing setOptions the button does not work anymore.

How do we combine the possibility to save/load the grid state, and the usage of custom buttons in the grid?

 

Kind regards.

 

Stefan
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 28 Aug 2025
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
Upload
ComboBox
MultiSelect
ListView
Window
TabStrip
Menu
Installer and VS Extensions
Spreadsheet
AutoComplete
TreeList
Gantt
PanelBar
NumericTextBox
Filter
ToolTip
Map
Diagram
Button
PivotGrid
Form
ListBox
Splitter
Application
FileManager
Sortable
Calendar
View
MaskedTextBox
PDFViewer
TextBox
Toolbar
MultiColumnComboBox
Dialog
DropDownTree
Checkbox
Slider
Switch
Notification
ListView (Mobile)
Pager
Accessibility
ColorPicker
DateRangePicker
Wizard
Security
Styling
Chat
MediaPlayer
TileLayout
DateInput
Drawer
SplitView
Barcode
ButtonGroup (Mobile)
Drawer (Mobile)
ImageEditor
RadioGroup
Sparkline
Stepper
TabStrip (Mobile)
GridLayout
Template
Badge
LinearGauge
ModalView
ResponsivePanel
TextArea
Breadcrumb
ExpansionPanel
Rating
ScrollView
ButtonGroup
CheckBoxGroup
NavBar
ProgressBar
QRCode
RadioButton
Scroller
Timeline
TreeMap
TaskBoard
OrgChart
Captcha
ActionSheet
Signature
AppBar
BottomNavigation
Card
FloatingActionButton
Licensing
Localization
MultiViewCalendar
PopOver (Mobile)
Ripple
ScrollView (Mobile)
Switch (Mobile)
PivotGridV2
FlatColorPicker
ColorPalette
DropDownButton
AIPrompt
PropertyGrid
ActionSheet (Mobile)
BulletGraph
Button (Mobile)
Collapsible
Loader
CircularGauge
SkeletonContainer
Popover
HeatMap
Avatar
ColorGradient
CircularProgressBar
SplitButton
StackLayout
TimeDurationPicker
Chip
ChipList
DockManager
ToggleButton
Sankey
OTPInput
ChartWizard
SpeechToTextButton
InlineAIPrompt
DateTimePicker
TimePicker
StockChart
RadialGauge
ContextMenu
ArcGauge
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?