C# функция вызывается в javascript и выполняется до загрузки страницы. Почему? - PullRequest
0 голосов
/ 22 марта 2020

Я пытался вызвать c# функцию в javascript, поэтому я использовал это: var a = <%=MYC#FUNCTION()%>, но функция в странных скобках выполняется даже до загрузки моей страницы. как выполнение функции является главным приоритетом моего кода. я хочу, чтобы функция выполнялась, когда я вызываю ее в своем коде javascript. Пожалуйста, помогите мне, мне нужно это для моего проекта в школе. Я пытался использовать это, но я действительно не понял этого ->

<script type="text/javascript">             //Default.aspx
   function DeleteKartItems() {     
         $.ajax({
         type: "POST",
         url: 'Default.aspx/DeleteItem',
         data: "",
         contentType: "application/json; charset=utf-8",
         dataType: "json",
         success: function (msg) {
             $("#divResult").html("success");
         },
         error: function (e) {
             $("#divResult").html("Something Wrong.");
         }
     });
   }
</script>

[WebMethod]                                 //Default.aspx.cs
public static void DeleteItem()
{
    //Your Logic
}

1 Ответ

1 голос
/ 22 марта 2020

Вы неправильно понимаете жизненный цикл запроса / ответа. В вашем коде порядок выполнения будет

  1. Веб-браузер отправляет запрос на ваш веб-сервер.
  2. Веб-сервер (C# код) теперь обрабатывает запрос и начинает создавать HTML ответ.
  3. Веб-сервер использует ваш контроллер / представление (MVC) или .aspx / .aspx.cs (веб-форма) для создания ответа.
  4. Ваш код "MYC #FUNCTION () "теперь выполняется. Предположим, он возвращает число 123.
  5. После этого ваш ответ html отправляется обратно в веб-браузер.
  6. Веб-браузер получает ответ и отображает его в пользовательском интерфейсе. Теперь, если вы проверите HTML, вы увидите "var a = 123;" (123 из вашего «MYC # FUNCTION ()»)

Если вы хотите выполнить «MYC # FUNCTION ()» после загрузки страницы. Тогда вам нужно посмотреть на AJAX.

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