在web方法内部按钮上单击调用方法

时间:2015-12-03 11:06:05

标签: c# asp.net webforms

我正在开发一个“webform”,它有三个按钮取消,保存,保存和电子邮件。 使用取消和保存按钮,代码运行正常。但在保存和电子邮件按钮我正在制作一个“webmethod”将表单值保存到另一个页面和webMethod内部,我想检查一下,如果单击“保存和电子邮件”按钮,则调用另一个方法名称为“发送电子邮件”。

任何建议如何在web方法中仅为“保存和发送电子邮件”按钮调用另一种方法。

<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')
                        }
                    });

2 个答案:

答案 0 :(得分:1)

我假设您从两个按钮调用相同的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]
public static string UpdateDB(bool sendEmail)
{
  if(sendEmail)
  //call function to send email.
}

现在,您将从ajax的第二个按钮falsewebmethod调用相同的方法。

答案 1 :(得分:0)

在你的守则背后......

//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 );