No se pueden mostrar valores de enumeración en la cuadrícula de Kendo
En mi aplicación MVC5 tengo una clase de enumeración como se muestra a continuación y con este enfoque puedo pasar los valores de enumeración, es decir, EE. UU., Reino Unido en lugar de Estados Unidos "de Controller a View. ¿Cómo puedo pasar y mostrar la descripción de enumeración con el siguiente enfoque? probado muchos métodos de solución diferentes comoEnumeraciones de cadena C #, etc. pero ninguno de ellos resolvió mi problema. Por otro lado, no quiero usar la clase sellada y sería mejor para mí una solución con la clase enum como se muestra a continuación:
Enum:
public enum Country
{
[Description("United States")]
US = 1,
[Description("United Kingdom")]
UK = 2,
[Description("New Zealand")]
NewZealand = 3,
[Description("France")]
France = 4,
[Description("Germany")]
Germany = 5
}
Modelo:
public class VisitorViewModel
{
[Key]
public int VisitorID { get; set; }
public Country Country { get ; set; }
//code omitted for brevity
}
Controlador:
public JsonResult Visitor_Read([DataSourceRequest] DataSourceRequest request)
{
var result = db.Visitors.Select(m => new VisitorViewModel
{
VisitorID = m.VisitorID,
Country = m.Country
//code omitted for brevity
})
var jsonResult = Json(result, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}
Ver:
$(document).ready(function () {
var grid = $("#visitorGrid").kendoGrid({
dataSource: {
type: "json",
transport: {
read: {
url: "/Visitor/Visitor_Read",
dataType: "json",
cache: false
}
},
schema: {
model: {
fields: {
VisitorID: { type: 'number' },
Country : { type: 'string' }
}
}
}
},
columns:
[
{ field: "VisitorID", title: "Id" },
{ field: "Country ", title: "Country" },
]
}).data("kendoGrid");
});