Как я могу заставить этот индикатор выполнения работать в моем случае?
Ниже приведена ссылка на то, как построить индикатор выполнения, который я пытался заставить работать на моем сайте MVC:
https://www.codeproject.com/Articles/1124691/SignalR-Progress-Bar-Simple-Example-Sending-Live-D
Проблема заключается в том, как я называю "StartProcess()" при нажатии кнопки "Отправить" является связана с действием "searchAllQuotes" в "контроллере"?
-------------------------------------------------------------------------------
Вот как мне нужно активировать progressbar с помощью onclick на странице просмотра:
@using (Html.BeginForm("searchAllQuotes", "Home", FormMethod.Get)) { <input type="submit" class="btn btn-primary" value="Slideshow of quotes" onclick="StartProcess()"/> }
Ниже приведен ваш javascript на той же странице просмотра:
// ВЫЗОВ МЕТОДА В КОНТРОЛЛЕРЕ ДЛЯ ВЫПОЛНЕНИЯ НЕКОТОРОЙ РАБОТЫ
функция StartProcess() {
$.getJSON("/Home/LongRunningProcess?connectionId=" + connectionId,bindresults), {}, function (data) { if (!data) { alert("Success"); } else { alert(data); } }); }
--------------------------------------------------------------------
Ниже приведена моя домашняя страница контроллера:
public ActionResult searchAllQuotes() { return View("~/Views/Quotes/searchQuotes.cshtml", db.Quotes.OrderByDescending(quotes => quotes.DateAdded).ToList()); } public JsonResult LongRunningProcess(string connectionId) { //THIS COULD BE SOME LIST OF DATA int itemsCount = db.Quotes.OrderByDescending(quotes => quotes.DateAdded).ToList().Count; for (int i = 0; i <= itemsCount; i++) { //SIMULATING SOME TASK Thread.Sleep(500); //CALLING A FUNCTION THAT CALCULATES PERCENTAGE AND SENDS THE DATA TO THE CLIENT Functions.SendProgress("Process in progress...", i, itemsCount, connectionId); } return Json("", JsonRequestBehavior.AllowGet); }
Пожалуйста, посоветуйте. Заранее спасибо.
Что я уже пробовал:
Выполнил и jQuery, и действие контроллера одновременно, но это не сработало.