繁体   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