簡體   English   中英

在 javascript 中調用的 C# 函數,它在頁面加載之前執行。 為什么?

[英]C# function called in javascript and it's execute before the page load. why?

我試圖在 javascript 中調用 c# 函數,所以我使用了這個: 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. Web 瀏覽器向您的 Web 服務器發送請求。
  2. Web 服務器(C# 代碼)現在處理請求並開始創建 HTML 響應。
  3. Web 服務器使用您的控制器/視圖 (MVC) 或 .aspx/.aspx.cs(Web 表單)來創建響應。
  4. 您的代碼“MYC#FUNCTION()”現在已執行。 假設它返回一個數字 123。
  5. 在此之后,您的 html 響應將發送回 Web 瀏覽器。
  6. Web 瀏覽器接收響應並顯示到 UI。 現在,如果您檢查 HTML,您將看到“var a = 123;” (123 來自您的“MYC#FUNCTION()”)

如果您想在頁面加載后執行“MYC#FUNCTION()”。 然后你需要看看AJAX。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM