[英]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.