簡體   English   中英

使用JavaScript / jQuery在按鈕單擊上調用C#方法

[英]Call C# method on button click using JavaScript/jQuery

我正在嘗試使用JavaScript / jQuery函數在單擊按鈕時調用C#函數。

我經歷了類似的問題及其解決方案,但沒有一個適合這種情況。 我的C#函數不返回任何內容。 它是一個從任務計划程序觸發作業的功能。 有沒有其他方法可以編寫JavaScript函數,而該函數不返回任何內容?

下面是代碼。

HTML:

<button id="btnClick" runat="server" EnablePageMethods="true">Replay</button>

JavaScript的:

$(document).ready(function() {
  $(".btnClick").on('click', function() {
    $.ajax({
      async: true,
      url: "Home/ABVReplay",
      cache: false,
    });
    console.log("Replayed!");
  });
});

C#:

[WebMethod]
public void ABVReplay()
{
    using (TaskService tasksrvc = new TaskService("<server.name>", "<username>", "<domain>", "<password>"))
    {
        Task task = tasksrvc.FindTask("<taskName>");
        task.Run();
    }

}

如果我僅在控制台應用程序中使用C#代碼,則作業將運行。 因此,就沒有連接/登錄問題。

控制台應用程序代碼:

using System;
using Microsoft.Win32.TaskScheduler;

class Program
{
    static void Main(string[] args)
    {
        using (TaskService tasksrvc = new TaskService("<server.name>", "<username>", "<domain>", "<password>"))
        {
            Task task = tasksrvc.FindTask("<taskName>");
            task.Run();
        }
    }
}

您的jquery選擇器需要更改

$("#btnClick")

代替

$(".btnClick")

並確保您的通話網址正確。

#選擇html標簽id

. 選擇html標簽class

. 代表jquery class#代表id ,您必須替換此代碼,並且應該可以工作。

$(document).ready(function () {
  $("#btnClick").on('click', function () {

    $.ajax({
        async: true,
        url: "Home/ABVReplay",
        cache: false,
     });
    console.log("Replayed!");
  });
});

暫無
暫無

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

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