В моем приложении элементы управления ASP.NET MVC 4, EntityFramework и Syncfusion MVC у меня проблемы с сеткой MVC. Я создал источник OData с веб-API:
public class DriversController : ODataController
{
private ApplicationDbContext db = new ApplicationDbContext();
// GET: odata/Drivers
[EnableQuery]
public IQueryable<Driver> GetDrivers()
{
return db.Drivers;
}
...
}
И это работает, проверено с Postman. Получить данные и изменить их в БД. Но моя сетка:
@model dynamic
@(Html.EJ().Grid<object>("DriversGrid")
.Datasource("http://localhost:26168/odata/Drivers")
.Columns(col =>
{
col.Field("Id").HeaderText("ID").IsIdentity(true).IsPrimaryKey(true).AllowFiltering(false).Add();
col.Field("Name").HeaderText("Nazwa").Add();
col.Field("DriverId").HeaderText("ID pastylki").Add();
})
.AllowFiltering()
.FilterSettings(d => d.FilterType(FilterType.Menu))
.AllowSorting()
.ClientSideEvents(events =>
{
events.EndAdd("onEndAdd");
// events.Load("onLoad");
})
.EditSettings(edit => { edit.AllowAdding().AllowDeleting().AllowEditing(); })
.ToolbarSettings(toolbar =>
{
toolbar.ShowToolbar().ToolbarItems(items =>
{
items.AddTool(ToolBarItems.Add);
items.AddTool(ToolBarItems.Edit);
items.AddTool(ToolBarItems.Delete);
items.AddTool(ToolBarItems.Update);
items.AddTool(ToolBarItems.Cancel);
});
})
)
<script>
function onEndAdd(sender, args) {
var gridObj = $("#DriversGrid").ejGrid("instance");
gridObj.refreshContent();
};
</script>
только читает данные из контроллера, действия в сетке вызывают только public IQueryable<Driver> GetDrivers()
. Никаких других действий на контроллере не вызывается. Сетка визуально редактирует, удаляет и вставляет данные, но не вызывает источник данных для их сохранения. Что я делаю не так?
ajax
запрос на редактирование? и проверьте наличие ошибок скрипта в консоли браузера. - person Madhu   schedule 27.01.2016