简体   繁体   中英

How to detect Kendo Grid MVC initial binding on controller

I have a Kendo grid :

@(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)))

On my controller I have :

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

How can I check on controller if its the initial loading/binding?

Thanks

You can add a Data method to your read call which will use a js function that will return a global variable that's set true onLoad and sets it false. Then every time you read data it will send IsFirstRead parameter

.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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM