Syncfusion MVC Grid только читает данные из источника OData

В моем приложении элементы управления 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(). Никаких других действий на контроллере не вызывается. Сетка визуально редактирует, удаляет и вставляет данные, но не вызывает источник данных для их сохранения. Что я делаю не так?


person BWA    schedule 26.01.2016    source источник
comment
Не могли бы вы проверить вкладку сети браузера, не инициируется ли ajax запрос на редактирование? и проверьте наличие ошибок скрипта в консоли браузера.   -  person Madhu    schedule 27.01.2016
comment
Нет запросов, но я знаю, что ошибался   -  person BWA    schedule 27.01.2016


Ответы (1)


Следует изменить источник данных с

.Datasource("http://localhost:26168/odata/Drivers")

to

.Datasource(d => d.URL("http://localhost:26168/odata/Drivers"))

Это прекрасно работает.

person BWA    schedule 27.01.2016