在 web 方法中调用按钮单击方法

calling a method on button click inside a webmethod

我正在开发一个 "webform",它具有取消、保存、保存和电子邮件三个按钮。 代码 运行 可以使用取消和保存按钮。但是在保存和电子邮件按钮上我正在制作一个 "webmethod" 将表单值保存到另一个页面和那个 webMethod 内部,我想检查是否单击了 "save and email" 按钮然后调用另一个方法命名为 "sendEmail"。

关于如何在 Web 方法中仅为 "save and email" 按钮调用另一个方法的任何建议。

<input id="SaveEntry" type="button" class="btn btn-primary" value="Save" />
<input id="ApprovalButton" type="button" class="btn btn-primary" value="Save and Email" />

Ajax 通话:

$("#ApprovalButton").click(function () {
$.ajax({
                        type: "POST",
                        url: "checking.aspx/AddCashBook",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        data: JSON.stringify(""),
                        success: function (msg) {
                            $('#AddEntry').modal('toggle')
                        }
                    });

在你的代码背后...

//Setup a string that will call a button click event
var BtnSendAndSaveClick =  "document.getElementById('"
                                  + ApprovalButton.ClientID.ToString() + "')"
                                  + ".click();";

//Call the other button
SaveEntry.Attributes.Add("OnClick", BtnSendAndSaveClick );

我假设您从两个按钮调用相同的 webmethod。您需要将参数 sendEmail 传递给 webmethod,它会告诉您是否发送电子邮件。

$("#ApprovalButton").click(function () {
$.ajax({
                    type: "POST",
                    url: "checking.aspx/AddCashBook",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    data: JSON.stringify({ sendEmail: true }),
                    success: function (msg) {
                        $('#AddEntry').modal('toggle')
                    }
                });

在 webmethod 中你会这样做

[WebMethod]
public static string UpdateDB(bool sendEmail)
{
  if(sendEmail)
  //call function to send email.
}

现在,当您从第二个按钮调用相同的方法时,将 false 从 ajax 传递到 webmethod