2014-10-30 1 views
1

У меня есть сетка Кендо Кендо Сетка MVC инициал:Как обнаружить связывание на контроллере

@(Html.Kendo().Grid<MyVm>().Name("grid").Columns(columns => 
    ... 
.DataSource(dataSource => dataSource 
     .Ajax() 
     .Model(model => model.Id(p => p.Id)) 
     .Read(read => read.Action("List", "MyController", new { id = Model.Id }).Type(HttpVerbs.Get))) 

На мой контроллер у меня есть:

public JsonResult List([DataSourceRequest] DataSourceRequest request, int id) 
{ 
    //if (FIRST/INITIAL LOADING) ????? 
    ... 
} 

Как я могу проверить на контроллере, если его начальная загрузка/связывание?

Благодаря

+0

вы можете хранить сессии [ «Loaded»], и как только вы выполняете это действие, вы будете установить сеанс [ «Loaded»] = правда; и каждый раз, когда вы проверяете, будет ли сеанс [«Loaded»] == null =>, вы выполняете код, который хотите выполнить при первой загрузке – Monah

ответ

1

Вы можете добавить метод анализа данных для вашего вызова для чтения, который будет использовать функцию JS, которая будет возвращать глобальную переменную, которая истинна OnLoad и устанавливает его ложным. Тогда каждый раз, когда вы читаете данные, которые он будет посылать параметр IsFirstRead

.Read(read => read.Action("List", "MyController", new { id = Model.Id }).Type(HttpVerbs.Get)).Data("isFirstRead")) 

function isFirstRead() { 
    if (firstTime) { 
     firstTime = false; 
     return true; 
    } 
    else 
     return false; 
} 

public JsonResult List([DataSourceRequest] DataSourceRequest request, int id, bool isFirstTime) 
{ 
    //if (isFirstTime) ????? 
    ... 
} 

GOODLUCK