Как остановить вызов чтения для контроллера, если e.filter имеет значение null (синтаксис HTML Razor) - PullRequest
0 голосов
/ 28 декабря 2018

Во время разработки Kendo Grid (с использованием синтаксиса HTML Razor, MVC, Jquery и JavaScript), если мои фильтры пусты, я не хочу вызывать контроллер или читать данные.Как я могу это сделать?вот мой фрагмент кода фрагмент кода Razor -

 Read(read => read.Action("Action", "Controller").Data("getFilters"))

JSCode

 getFilters= function (e) 
{
 if (e.filter  === null)
	//do nothing and stop
 else 
	return { filters }
}

Помощь оценена.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Вот как я это сделал

Добавлено событие для фильтра

Filter("onFiltering")

JS код

function onFiltering()
{
     if (e.filter === null)
      {
       e.preventDefault();
       //display pop up for confirmation that no filters are applied and user still want to continue please select Yes
       //if Yes then 
       
       $("#Grid").data("kendoGrid").dataSource.read()
       
      }
  }

Спасибо всем и ценим ваши ответы / комментарии.

Счастливое кодирование

0 голосов
/ 02 января 2019

Вы можете остановить запрос в событии RequestStart источника данных:

function requestStart(e) {
    if (!this.filter()) {
        e.preventDefault();
    }
}

Возможно, вы захотите расширить этот фрагмент, чтобы сообщить пользователю, что новые данные не были загружены из-за пустого фильтра.В противном случае пользователь может быть смущен, почему результат не изменился, если он отправил пустой фильтр.

...