The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties. Parameter name: path

1- probar a quitar .AsNoTracking()

2- y quitar el where() o any() que hay dentro del Include

🙂

 

Anuncios

Añadir botón en columna del grid Telerik Kendo MVC

En esta fantástica suite de Telerik, podemos encontrar un grid completamente configurable y hoy voy  a apuntar cómo añadir un botón como columna, que nos puede servir para llamar al Controller para que ejecute su acción y luego añadiré un mensajito de confirmación en javascript. Vamos allá:

VIEW (no completa):

 @(Html.Kendo().Grid<RealCourseViewModel>()
.Name(“grid”)
          .Columns(columns =>
{
              columns.Bound(c => c.Code);
columns.Bound(c => c.Name);
              columns.Bound(c => c.Id).Title(“”).ClientTemplate(“<text><a href='” + @Url.Action(“Edit”) + “/#:data.Id#'</a>Ver</text>”).Width(70).Filterable(false);
//AQUÍ EL BOTÓN
              columns.Command(command => command.Custom(“Acción”).Click(“clickAction”)).Width(180);
})
y el javascript:
 function clickAction(e) {
e.preventDefault();

        var tr = $(e.target).closest(“tr”);

// get the data bound to the current table row
var dataItem = this.dataItem(tr);

        $.ajax({
type: “POST”,
url: ‘@Url.Action(“Metodo_Controller”)’,
content: “application/json; charset=utf-8”,
dataType: “json”,
data: { id: dataItem.Id },
success: function (d) {
if (d.Success === “true”) {
                    //borro la fila del botón… por hacer algo
var grid = $(“#grid”).data(“kendoGrid”);
grid.dataSource.remove(dataItem);
grid.dataSource.sync();
}
else {
alert(“ERROR.”);
}
},
error: function (xhr, textStatus, errorThrown) {
alert(“ERROR.”);
}
});

 

}

y el CONTROLLER:
 [HttpPost]
public JsonResult Metodo_Controller(int id)
{
           //aquí haremos las virguerías…
var result = new { Success = “true” };
return Json(result);
        }
Pues ya está, así de simple… me encanta Telerik… ¿se nota?
🙂