Hello,
I have a signalr bound grid. The grid has custom popup editor with Tabstrip. First tab - upload picture, or show picture based on ImageUrl field of currently edited record.
So, I'm trying to access:
- @Model.ImageUrl - it throws null exception and breaks the page overall, or
- @Html.ValueFor(model=>model.ImageUrl) - it is always null, but I'm sure there are values in database
I have tried the same, just to test it, with for example Firstname field from the same model - the same result
@Html.LabelFor(model=>model.ImageUrl) and @Html.EditorFor(model=>model.ImageUrl) work fine, I can see the label and the correct value inside a textbox.
<div class="row">
<div>
@Html.ValueFor(model => model.Firstname) @*this is always null, but I need a value*@
</div>
<div>
@* @Model.Firstname this breaks whole page with null exception*@
</div>
<div>
@Html.EditorFor(model => model.Firstname) @*this works correctly*@
</div>
</div>
/////////// below is the code, why I need the value
<div id="pictures" class="picture dropZoneElement">
@if (Html.ValueFor(model => model.ImageUrl) != null)
{
<div class="k-edit-label">
<img src="Files/Images/" + @Html.ValueFor(model => model.ImageUrl) />
</div>
}
else
{
<div class="textWrapper">
<p><span>+</span>Add Image</p>
<p class="dropImageHereText">Drop image here to upload</p>
</div>
}
</div>
Kind regards
DC

I noticed in one of my forms that suddenly a validation message appears for a dropdownlist. The message could not be found in kendo.messages.xx-XX.js nor was it a validation message from ASP.NET Core (I use my own, localized form of "Required" etc.attribute messages). I found the message inside the file "Exceptions.resx" in the source of Kendo MVC:
<data name="ValueNotValidForProperty" xml:space="preserve"> <value>The value '{0}' is invalid.</value></data>How can I translate this into another language?
Regards
Heiko
Hello,
I am experiencing a problem applying culture to the validation messages in my editable grid. I experience the exact same problem as in the following demo: https://demos.telerik.com/aspnet-core/grid/globalization?culture=fr-FR
As a user I would expect the validation message to be localized but they don't seem to be.
To reproduce,
Any help on this will be greatly appreciated!
Thank you
I create a disabled DropDownList with the following code:
<kendo-dropdownlist for="FreezeVM.Year" class="form-control" datatextfield="Text" datavaluefield="Value" height="290" enable="false" bind-to="Model.YearList"></kendo-dropdownlist>
Based on another DropDownList I change the value of this list:
function onTargetTypeChange(e) { var targetValue = this.value(); var currentYear = new Date().getFullYear(); var yearDrop = $("#FreezeVM\\.Year").data("kendoDropDownList"); if (targetValue === "6" || targetValue === "7") { yearDrop.value(currentYear + 1); } else { yearDrop.value(currentYear); };};
The change is reflected on the UI, but not on the underlying Model which still has the old value. As soon as I enable the DropDownList everything works fine. What I expect is that the value gets changed no matter if the dropdown is enabled or disabled.
Regards
Heiko

Hi,
i am using ASP.NET Core with a KENDO Grid which calls a Razor Page handler.
For performance reasons, the Grid is pageable, filterable and sortable.
Now we want the DataSourceRequest on the server to directly filter the MongoDB query. I am using "AsQueryable()" on the IMongoCollection, which i thought works nicely with the KENDO DataSourceResult method.
But the speed of the MongoDB query is always slow. It does not matter if i filter the grid for just one result or if i display all results (paged).
Is this the correct way to use KENDO Grid with MongoDB "database-filtering"?
I am using the following code:
Client
@(Html.Kendo().Grid<PolicyAudit>().Name("PolicyGrid") .Pageable() .Navigatable() .Sortable() .Filterable() .Columns(columBuilder => { columBuilder.Bound(x => x.Orga); columBuilder.Bound(x => x.Operation); columBuilder.Bound(x => x.Ressource); columBuilder.Bound(x => x.TimeStamp); columBuilder.Bound(x => x.UserEmail); columBuilder.Bound(x => x.AccessResult); }) .DataSource(source => source.Ajax() .Read("PolicyOverview", "Policy", new { handler = "ReadPolicyAudits" })))
Server
public async Task<IActionResult> OnPostReadPolicyAudits([DataSourceRequest]DataSourceRequest request) { var access = new PolicyDataAccess(); var col = access.GetCollection<PolicyAudit>("MetaPolicyCollection"); var data = await col.AsQueryable().ToDataSourceResultAsync(request); return new JsonResult(data); }Hello,
I use a template column to have a Kendo style Checkbox in my grid but this is not bind to the underlying boolean value...
with a "normal" Checkbox this is possible with JavaScript but the tsyled Checkbox uses a Label for Styling... (see Picture)
how to do this with the styled checkboxes?

Hello,
Can someone please help.
I'm trying to do a simple Inline edit grid which has a datetime field but when clicking update the datetime field which is passed through to the controller has null. It's actually replicated in the example which Progress supply.
How do I get a valid date through to the controller? surely this is quite a big issue? is it a locale problem?
.chtml
}
<div class="row">
<div class="col-xs-18 col-md-12">
@(Html.Kendo().Grid<Sample.Models.OrderViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.Freight);
columns.Bound(p => p.OrderDate);
columns.Bound(p => p.ShipName);
columns.Bound(p => p.ShipCity);
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(160);
})
.Pageable()
.Sortable()
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:550px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Batch(true)
.Model(model => model.Id(p => p.OrderID))
.Read(read => read.Action("Orders_Read", "Grid"))
.Update(update => update.Action("Orders_Update", "Grid"))
)
)
</div>
</div>
GridController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Kendo.Mvc.UI;
using Sample.Models;
using Kendo.Mvc.Extensions;
namespace Sample.Controllers
{
public class GridController : Controller
{
public ActionResult Orders_Read([DataSourceRequest]DataSourceRequest request)
{
var result = Enumerable.Range(1, 50).Select(i => new OrderViewModel
{
OrderID = i,
Freight = i * 10,
OrderDate = new DateTime(2016, 9, 15).AddDays(i % 7),
ShipName = "ShipName " + i,
ShipCity = "ShipCity " + i
});
var dsResult = result.ToDataSourceResult(request);
return Json(dsResult);
}
[AcceptVerbs("Post")]
public ActionResult Orders_Update([DataSourceRequest]DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<OrderViewModel> products)
{
//products.OrderDate is null even though I've selected a date on the edit datepicker.
return Json(products.ToDataSourceResult(request));
}
}
}
@(Html.Kendo().Upload() .Name("File") .Async(a => a .AutoUpload(true)) .Files( files => { if (Model.File != null) { files.Add().Name(Model.FileName).Extension(Model.FileExtension).Size((long)Model.FileSize); } } ) .Events(e => e.Select("onSelect")) .Multiple(false) )
I saw that there was a demo for initial files in mvc but that disappeared in the asp.net core demos.
Thanks

In the demo : https://demos.telerik.com/aspnet-core/grid/editing-popup.
there is code shown as follows in the ProductService.cs:
public class ProductService : BaseService, IProductService
Where is the code for BaseService and IProduct Service?
Also, more generally, where can I download the sources to all the demos for .net core?
Thanks … Ed
