Доступ к значениям статических свойств из кода, стоящего за Jquery / Javascript - PullRequest
0 голосов
/ 04 сентября 2018

Я должен прочитать значения Max и Percent в функцию jquery. Я попытался прочитать эти значения в скрытую переменную и переменную Session при загрузке страницы, которая всегда возвращает 0. Это мои свойства:

    public static int Max { get; set; }
    public static int Percent { get; set; }

Вот мой код:

      [WebMethod]
      public static string Test()
      { 
          var y = 0;
          var max = 100000;
          Max = max;
          for(int i = 0; i < max; i++)
          {
              y++;
              Percent = y++; 
          }
          if (y > max)
              return "Success";
          else
            return "Fail";
      }

Это мой ajax-вызов по нажатию кнопки. Я пытаюсь прочитать максимальное значение и процентное значение для каждого я с другой функцией. Я не уверен, как вызвать эти значения в другую функцию.

<asp:Button ID="btnGetData" runat="server" Text="Get Data" />

   $(document).ready(function () {
     $$('btnGetData').click(function () {
         function readValues();
         $.ajax({
             type: 'POST',
             url: 'Test.aspx/Test',
             data: "{}",
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             async: true,
             success: function (Result) {
                 alert(Result.d);
             },
             error: function (Result) {
                 alert('Error!');
             }

         });
     });
 });
function readValues(){
 var t = <%= Max%>;
 var p = <%= Percent%>;  //This has to be updated every few seconds until 
                             //the for loop is finished.
}

1 Ответ

0 голосов
/ 04 сентября 2018

Я думаю, что вы пытаетесь достичь, похоже на этот вопрос: Simple BackgroundWorker не обновляет ярлык на веб-странице

В основном, ваши варианты:

  • Перепроектируйте свой код на стороне сервера, чтобы операция начиналась с с первого вызова (и немедленно возвращалась), а затем передний конец мог вызвать другую функцию / конечную точку, чтобы посмотреть, каков текущий прогресс, и сообщить об этом (возможно, используя таймер раз в секунду или что-то в этом роде)
  • Используйте что-нибудь для включения двусторонней связи (например, SignalR), чтобы сервер мог сообщать клиенту о своем прогрессе.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...