Barcelonista Naser Ответов: 1

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


Всем Привет.
У меня есть метод действия в контроллере, как показано ниже:
public async Task<ActionResult> abc()
        {
            string nexturl = "this is a dynamic value"
            ViewBag.Data = nexturl;

            return View();
        }

Где вышеописанный метод действия выполняет некоторую проверку данных, а затем передает значение в представление и возвращает конкретное представление. В представлении если я прокручу вниз до 60px я буду перенаправлен на другой метод действия в контроллере который выглядит следующим образом:

public async Task<ActionResult> abcGetMoreData(string nexturl)
        {
            if (nexturl != null)
            {
                // somme logic
            }
            ViewBag.Data = nexturl;
            return View("abc");
        }

Вышеописанный метод действия принимает параметр, который подается представлением 'abc' с помощью ajax. затем выполните некоторую проверку и отправьте обратно в представление новое значение для nexturl. Если пользователь прокручивает следующие 60 пикселей, он будет перенаправлен на тот же метод действия "abcGetMoreData" и будет продолжать до тех пор, пока nextUrl не станет нулевым.
Что я хочу, так это сделать эту вещь легкой для пользователя. Я хочу загрузить все данные сразу, так что пользователь не должен прокручивать вниз, чтобы получить больше данных. Как я могу этого достичь?

Что я уже пробовал:

Я ничего не пробовал, так как я очень новичок в C# и MVC.

Richard Deeming

Так что меняйте свое abc действие для загрузки всех данных за один раз и удаления AJAX-вызовов abcGetMoreData.

В чем вопрос?

Barcelonista Naser

Я не могу этого сделать, потому что я получаю данные из facebook, и мне приходится разбивать каждый набор записей на страницы, предоставляя либо следующий курсор, либо ссылку на следующую страницу.

Karthik_Mahalingam

Всегда использовать  Ответить  кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

1 Ответов

Рейтинг:
0

njammy

Вам не нужны два отдельных метода действий.
Просто определите один из них со всеми необходимыми параметрами и запустите событие AJAX, когда пользователь управляет тем же действием. Это действие вернет заданное количество записей на одно пользовательское событие, т. е. прокрутку 60px.
Вам не нужно запускать его несколько раз, просто когда действие пользователя повторяется.