tabstrip kendo kendo-ui

tabstrip - cuadrícula de kendo ui-novato no puede hacer que la muestra básica funcione



kendo tabstrip (1)

Solo pruebo tu código en mi proyecto, funciona perfectamente, solo haz esto,

MODELO

public class PersonalInterestModel { public int ID {get; set;} public string Name { get; set; } }

Estoy familiarizado con los productos Telerik pero nuevo en los envoltorios Kendo UI MVC. Originalmente los descargué hace unos meses y nunca llegué a probarlos, por lo que lamentablemente mi soporte de prueba ha expirado.

Comencé una nueva aplicación Kendo UI MVC en VS.NET.

Creé mi propio Controlador y Vista.

Copié el ejemplo de edición por lotes ( http://demos.kendoui.com/web/grid/editing.html ) y cambié una lista estática para los datos que estaba usando el ejemplo.

La cuadrícula muestra mis datos correctamente.

Sin embargo, las actualizaciones no envían nada al servidor ({}) al hacer clic en guardar. Las eliminaciones tampoco envían nada al servidor ({}) al hacer clic en guardar. Crea un registro por elemento nuevo, pero la propiedad Nombre se establece en nulo.

¿Algunas ideas?

Mi código está abajo.

Gracias, Kevin

* Mi modelo *

using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace KendoUIMvcApplication1.Models { public class PersonalInterestModel { public int ID; public string Name; } }

* Mi controlador *

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Kendo.Mvc.Extensions; using Kendo.Mvc.UI; using KendoUIMvcApplication1.Models; namespace KendoUIMvcApplication1.Controllers { public class ManagerController : Controller { // // GET: /Manager/ private static List<PersonalInterestModel> items = new List<PersonalInterestModel>(); static ManagerController() { items.Add(new PersonalInterestModel() { ID = 1, Name = "Finance" }); items.Add(new PersonalInterestModel() { ID = 2, Name = "Construction" }); items.Add(new PersonalInterestModel() { ID = 3, Name = "Technology" }); items.Add(new PersonalInterestModel() { ID = 4, Name = "Entertainment" }); } public ActionResult Index() { return View(); } public ActionResult Editing_Read([DataSourceRequest] DataSourceRequest request) { return Json(items.ToDataSourceResult(request)); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Editing_Create([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<PersonalInterestModel> products) { var results = new List<PersonalInterestModel>(); if (products != null && ModelState.IsValid) { foreach (var product in products) { product.ID = items.Max(i => i.ID) + 1; items.Add(product); results.Add(product); } } return Json(results.ToDataSourceResult(request, ModelState)); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Editing_Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<PersonalInterestModel> products) { if (products != null && ModelState.IsValid) { foreach (var product in products) { var target = items.Find(p => p.ID == product.ID); if (target != null) { target.Name = product.Name; } } } return Json(ModelState.ToDataSourceResult()); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Editing_Destroy([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<PersonalInterestModel> products) { if (products.Any()) { foreach (var product in products) { items.Remove(items.Find(p => p.ID == product.ID)); } } return Json(ModelState.ToDataSourceResult()); } } }

* Mi vista *

@{ ViewBag.Title = "Personal Interests"; } <h2>Index</h2> @(Html.Kendo().Grid<KendoUIMvcApplication1.Models.PersonalInterestModel>() .Name("Grid") .Columns(columns => { columns.Bound(p => p.ID).Width(50); columns.Bound(p => p.Name).Width(140); columns.Command(command => command.Destroy()).Width(110); }) .ToolBar(toolbar => { toolbar.Create(); toolbar.Save(); }) .Editable(editable => editable.Mode(GridEditMode.InCell)) .Pageable() .Sortable() .Scrollable() .DataSource(dataSource => dataSource .Ajax() .Batch(true) .ServerOperation(false) .Events(events => events.Error("error_handler")) .Model(model => model.Id(p => p.ID)) .Create("Editing_Create", "Manager") .Read("Editing_Read", "Manager") .Update("Editing_Update", "Manager") .Destroy("Editing_Destroy", "Manager") ) ) <script type="text/javascript"> function error_handler(e) { if (e.errors) { var message = "Errors:/n"; $.each(e.errors, function (key, value) { if (''errors'' in value) { $.each(value.errors, function() { message += this + "/n"; }); } }); alert(message); } } </script>