是否可以将js函数传递给事件处理程序构造函数?

时间:2018-04-27 13:05:22

标签: javascript c# asp.net

下面的JS函数:

function ShowFax() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "WebServices/SendFaxService.asmx/SaveFaxData",
        data: "{}",
        dataType: "json",
        success: function (data) {
            $('#<%=cSendFax.FindControl("dDIVFax").ClientID %>').show();
        },
        error: function (result) {
            alert("Error");
        }
    });
}

应作为参数传递到下面的事件处理程序构造函数中:

Navigation.PHQ2_SendFax += new Navigation.CommunicationsEventHandler();

2 个答案:

答案 0 :(得分:0)

您可以简单地使用函数的名称作为参数:

Navigation.PHQ2_SendFax += new Navigation.CommunicationsEventHandler(ShowFax);

您只需使用参数名称调用它(或将函数存储到变量中并稍后使用):

CommunicationsEventHandler = function(eventFunction)
{
    eventFunction();
}

答案 1 :(得分:0)

这可能不是正确的方法,但我通过在后面的代码中创建一个方法来解决问题,该方法调用js函数然后我使用该方法作为我的参数。

代码背后的方法:

protected void ShowFax(object sender, EventArgs e)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "ShowFax();", true);
}

事件处理程序构造函数:

Navigation.PHQ2_SendFax += new Navigation.CommunicationsEventHandler(ShowFax);