Telerik Forums
UI for ASP.NET MVC Forum
1 answer
103 views

HI Team,

 

We are getting this exception while updating new teleirik version for MVC "Telerik.UI.for.AspNet.Mvc5.2025.1.211"

 

System.TypeLoadException: 'Could not load type 'Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Manageability.ConfigurationSectionManageabilityProviderAttribute' from assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.'

 

we are not able to fix this in any way can you please help us on this?

 

Eyup
Telerik team
 answered on 01 Mar 2025
0 answers
117 views

As the title states, I have a legacy monolith that must be revived.

I need a few features, especially on the grid, and decided to upgrade Telerik. After a bit of struggle, I managed to run the application but the Telerik controls are by default very small compared to before and the new Size property doesn't seem to be doing much:

Before:

Now:

As it can be seen, the grid shrunk. I do not have a lot of custom CSS on this site but the baseline theme was Start Bootstrap v2 (Start Bootstrap - SB Admin 2 Bootstrap Admin Theme (http://startbootstrap.com)). Not sure if the original theme can still be found.

DoomerDGR8
Top achievements
Rank 2
Iron
Iron
Iron
 asked on 25 Feb 2025
2 answers
117 views

Hello,

We developed a widget in an empty ASP.NET MVC project with the last Kendo UI for ASP.NET MVC trial version. It works !

Now, we would like to use this widget in a Sitefinity 14.4 project version but we have an error saying that the assembly Kendo.Mvc 2024.4.1112.462 is using System.Web.Mvc 5.3.0.0 but the referenced assembly is 5.2.7.0 version in Sitefinity project.

Is there any way to download an older Kendo UI for ASP.NET MVC version using System.Web.Mvc 5.2.7.0 ?
How can we use a trial version before buying the component bundle ?

We tried with the nuget server but the trial version is only available in the last version.

 

Thank you for your help.

 

Iva
Telerik team
 answered on 21 Feb 2025
1 answer
46 views

I am not able to download more than 30k records into excel. Sometimes i am getting 500 error some time not but excel is not downloaded any time.

This is my code

 

@(Html.ReportsGrid
<apexportal.WebService.Models.AuditReportResult>()
    .HtmlAttributes(new { @style = "height: 500px;" })
    .Name("AuditReportGrid")
    .Excel(e => { e.FileName("AuditReport.xlsx").AllPages(true); })
    .Events(e => { e.ExcelExport("excelExportCheck"); })
    .AutoBind(false)
    .DataSource(datasource => datasource
    .Custom()
    .Type("aspnetmvc-ajax")
    .Transport(t => t.Read(r => r.Action("Read", "AuditReport").Data("getAdditionalData")))
    .Schema(s => s
    .Data("Data")
    .Model(model =>
    {
    model.Id(itm => itm.VR_Audit_LogID); //("VR_Audit_LogID");
    model.Field("VendorID", typeof(string));
    model.Field("ActionTime", typeof(DateTime));
    model.Field("ReviewedDate", typeof(DateTime));
    })
    .Total("Total")
    )
    .ServerSorting(true)
    .ServerPaging(true)
    .ServerFiltering(true)
    .ServerGrouping(false)
    .ServerAggregates(false)
    .Events(events => events.Error("error_handler"))
    )
    .Columns(columns =>
    {
    columns.Bound(portal => portal.VR_ID).Title("VR ID".Translate())
    .HeaderHtmlAttributes(new { @class = "NumericHeaderAlign" }).HtmlAttributes(new { @class = "NumericRowAlign" }).Width(180)
    .Filterable(x => x.Cell(y => y.Template("NumericFilter")));
    if (userACL.IsRegistrationEnabled &&!userACL.IsCustomerRegistrationEnabled)
    {
    columns.Bound(portal => portal.VendorID).Title("Vendor ID".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    }
    if (userACL.IsCustomerRegistrationEnabled)
    {
    columns.Bound(portal => portal.VendorID).Title("Entity ID".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    }
    columns.Bound(portal => portal.CompanyName).Title("Company Name".Translate())
    .ClientTemplate("#=buildCompanyNameLink(CompanyName, '" + @Url.Action("GetCompanyUrl") + "')#")
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(200);
    columns.Bound(portal => portal.ModifiedFieldName).Title("Field Name".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(250);
    columns.Bound(portal => portal.DecryptedOriginalValue).Title("Original Value".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    columns.Bound(portal => portal.DecryptedNewValue).Title("New Value".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    columns.Bound(portal => portal.ChangedBy).Title("Changed By".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    columns.Bound(portal => portal.ChangedByFirstName).Title("Changed By First Name".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    columns.Bound(portal => portal.ChangedByLastName).Title("Changed By Last Name".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    columns.Bound(portal => portal.RegistrationType).ClientTemplate("#= RegistrationType == null ? '' : TranslateText(RegistrationType) #").Title("Registration Type".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    if (userACL.IsCustomerRegistrationEnabled && userACL.IsRegistrationEnabled)
    {
    columns.Bound(portal => portal.ProfileType).ClientTemplate("#= ProfileType == null ? '' : TranslateText(ProfileType) #").Title("Profile Type".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(150);
    }
    columns.Bound(portal => portal.Action).ClientTemplate("#= Action == null ? '' : TranslateText(Action) #").Title("Action".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(110);
    //columns.Bound(portal => portal.PRIMARY_KEY).Title("Primary Key".Translate()).HtmlAttributes(new { @style = "white-space: nowrap;" }).Width(110);
    columns.Bound(portal => portal.DataSource).Title("Data Source".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(110);
    columns.Bound(portal => portal.ActionTime).Title("Action Time".Translate()).Format("{0:G}")
    .HeaderHtmlAttributes(new { @class = "DateHeaderAlign" }).HtmlAttributes(new { @class = "DateRowAlign" }).Width(150);
    columns.Bound(portal => portal.ReviewMode).ClientTemplate("#= ReviewMode == null ? '' : TranslateText(ReviewMode) #").Title("Review Action".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(110);
    columns.Bound(portal => portal.ReviewedBy).Title("Reviewed By".Translate())
    .HeaderHtmlAttributes(new { @class = "StringHeaderAlign" }).HtmlAttributes(new { @class = "StringRowAlign" }).Width(110);
    columns.Bound(portal => portal.ReviewedDate).Title("Reviewed Date".Translate()).Format("{0:G}")
    .HeaderHtmlAttributes(new { @class = "DateHeaderAlign" }).HtmlAttributes(new { @class = "DateRowAlign" }).Width(150);
    }
    )
    .Filterable(filterable => filterable
    .Extra(false)
    .Operators(operators => operators
    .ForDate(str => str.Clear()
    .IsNotEqualTo("Is not equal to".Translate())
    .IsGreaterThanOrEqualTo("Is after or equal to".Translate())
    .IsGreaterThan("Is after".Translate())
    .IsLessThanOrEqualTo("Is before or equal to".Translate())
    .IsLessThan("Is before".Translate())
    .IsNull("Is Null".Translate())
    .IsNotNull("Is Not Null".Translate()))))
    )
    }

 

    @Html.GridErrorHandler()
    @Html.GridResizeHandler("AuditReportGrid")
    @CustomHtml.GridContextMenu(Html, "AuditReportGrid")
    @CustomHtml.EnableFormValidation("SearchForm", "searchbtn")

Anton Mironov
Telerik team
 answered on 21 Feb 2025
1 answer
42 views

Here is the grid before I click the first Edit button:

And then after:



Most of the rows have disappeared.
The h-scrollbar is gone.  Typically I can't scroll right. Seems a few cases, playing around with it, the arrow-keys scrolled right but the header row became detached, i.e. did not scroll right with the body. 

Anyone know what might be causing this?  I"ve been getting this problem on 2024 Q4 and 2025 Q1. 

I have enabled fairly strict CSP headers per management requirements and am using at least 3 editor templates. I've added this line:
@(Html.Kendo().DeferredScriptFile(nonce))
to the bottom of each EditorTemplate file (not sure if that's correct).  Removing that line seems to fix the grid-distortion but also loses the editor template itself. 

 

 

 

Anton Mironov
Telerik team
 answered on 20 Feb 2025
1 answer
110 views

I'm looking to implement a check when a user has scrolled to the bottom of the pdfviewer using dotnet mvc/jquery.

Iv found the following articles 

https://docs.telerik.com/devtools/wpf/knowledge-base/kb-pdfviewer-scroll-to-last-page

https://www.telerik.com/forums/how-to-access-scroller-of-pdfviewer

 

and iv managed to hook into the scroll functionality through a private scroller field like so

still figuring out the calculation...

<script>
      function onPdfViewerComplete(e){
        debugger;
        try {
                const scroller = e.sender._scroller;
                const scrollPosition = scroller.scrollTop;
                const maxScrollPosition = scroller.scrollHeight - scroller.clientHeight;

            scroller.bind('scroll', ()=> {
                if (scrollPosition >= maxScrollPosition) {
                    alert("Scrolled to the bottom of the PDF");
                }
            });
        } catch(e) {
            console.error("error", e);
        }
    }
</script>


Is there any better way to handle this? the documentation seems sparse around this.
Mihaela
Telerik team
 answered on 13 Feb 2025
1 answer
91 views

am using Kendo UI with Razor as the frontend and .NET Framework 4.8.1 as the backend.
I have the following code, but it does not initially display "Switzerland".
It is present in the list, but I do not want to select it manually.
I want it to be preselected from the start. Could you please help me?


@model int?

@{
    var initialItems = new List<SelectListItem>()
{
        new SelectListItem{ Text = "Schweiz", Value = "1" }
    };
}

<div class="k-floating-label-container mb-3">
    @(Html.Kendo().DropDownListFor(x => x)
        .DataTextField("Text")
        .DataValueField("Value")
        .AutoBind(false)
        .BindTo(initialItems)
        .Value(Model?.ToString())
        .Events(e => e.Open("onDropDownOpen"))
        .Deferred()
    )
    @Html.LabelFor(x => x, new { @class = "k-label k-input-label" })
    @Html.ValidationMessageFor(x => x)
</div>

<script>function onDropDownOpen(e) {
    var dropdown = $("#Store_DefaultLanguageId").data("kendoDropDownList");

    if (dropdown.dataSource.total() === 1) { 
        dropdown.setDataSource(new kendo.data.DataSource({
            transport: {
                read: {
                    url: "/Language/LanguageList",
                    dataType: "json",
                }
            },
            serverFiltering: true
        }));
    }
}
</script>

Anton Mironov
Telerik team
 answered on 07 Feb 2025
1 answer
92 views

I'm using the Kendo for ASP.Net MVC Upload control. I'm on version 2019, and upgrading right now is not an option unfortunately. When the user chooses a file (multi-select is off), I have a Submit button separate from the control that the user clicks to begin the upload. While the upload is taking place, I want the Choose File button to be disabled. I need the pause and cancel buttons enabled, so it won't work to disable the entire control. I have a place to put some javascript to disable the button, but everything I've tried so far doesn't accomplish disabling the button. 

Here is the declaration of the control:

                        <div id="uploadControlContainer" class="upload-input col-sm-12">
                            @(Html.Kendo().Upload()
                                .Name("chunkContent")
                                .Async(a => a
                                    .Batch(false)
                                    .Save("UploadLargeFileChunk", "DocumentUpload")
                                    //.Remove("Remove", "DocumentUpload") not implemented
                                    .AutoUpload(false)
                                    .ChunkSize(Model.ChunkSize)
                                    .AutoRetryAfter(Model.AutoRetryAfter)
                                    .MaxAutoRetries(Model.MaxAutoRetries)
                                )
                                .Multiple(false)
                                .Events(e => e.Select("onSelectFile"))
                                .Events(e => e.Upload("onUploadChunk"))
                                .Events(e => e.Cancel("onCancelUpload"))
                                .Events(e => e.Success("onUploadSuccess"))
                                .Events(e => e.Error("onUploadError"))
                                .Messages(m => m.Select("Choose File"))
                            )
                        </div>

 

Mihaela
Telerik team
 answered on 06 Feb 2025
1 answer
167 views

Hi,

I have have a requirement, where I need to upload an excel file. After uploading the excel file when the user clicks Import button then all the excel data should add to the Kendo grid.

I am using .Net 8 with MVC Razor page to achieve this. Is there any library I have to use to read the excel data to kendo grid or the kendo grid 

have some API(s) which can read the excel file and update the grid.

This is my excel records. 

This is my application, when the user upload this above excel and click on import from Excel, then the above excel records should fill in the

kendo grid.

 

 

Eyup
Telerik team
 answered on 23 Jan 2025
0 answers
85 views

I am using autoFitColumn function on a Telerik UI for MVC grid to show the content of all cells as per the below article.

https://docs.telerik.com/aspnet-mvc/knowledge-base/grid-autofit-all-columns-width

This works if the grid's display is not none. However, there are three tabs on the page, each containing a grid. Only the opened grid has correct column widths. Other grids have minimum column widths. This is unless the user manually opens each tab quickly during data load.

I tried using Telerik's TabStrip at first, but the grid always has minimum column widths when using autoFitColumns, even on the first tab. The goal was to put a Grid inside each tab of the TabStrip. Currently, I am using custom built tabs. 

My current solution to this problem is to set the "hidden" style of each grid to:

position: absolute;
top: -9999px;
left: -9999px;

Is there a better solution?

ConcretePlusGrass
Top achievements
Rank 1
 asked on 10 Jan 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
DateTimePicker
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
TimePicker
StockChart
RadialGauge
ContextMenu
ArcGauge
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?