如何通过javascript访问参数化函数后面的代码

时间:2012-08-10 06:59:59

标签: c# javascript asp.net

有没有办法在javascript警告框中生成cal后面的代码。我在网格视图上使用了一个按钮。点击它..它应该警告一个确认框...然后做一个cal代码后面的功能。这是cal背后代码的一部分。

protected void GridView1_RowDataBound(object source, GridViewRowEventArgs e)
{
    ......
    btnAlertStatus.Attributes.Add("onclick", "javascript:if(confirm('Are you sure you want to send an email " + ID+ " ?') == true) EmailTest(ID); ");
    ......
}

protected void EmailTest(int ID)
{
}

这样我就无法访问send_Email ....有没有更好的方法在rowboundevent中调用此函数

3 个答案:

答案 0 :(得分:1)

JavaScript客户端上运行。

ASP.NET (CodeBehind)服务器上运行。

您无法直接从客户端执行服务器上的方法。您通常做的是执行新请求,告诉服务器运行该方法,然后将结果返回给客户端。

在您的情况下,请侦听警报框何时关闭,然后对服务器执行postback。您也可以使用ajax作为@Kek建议,为此,请查看jQuery或ASP.NET Ajax。

答案 1 :(得分:1)

答案 2 :(得分:0)

你可以,但你需要使用ajax或Jquery

在代码后面创建这个测试方法

[System.Web.Services.WebMethod]
public static string SayHi()
{
    return "Hi";
}

然后在您添加的表单标记正下方的aspx页面中添加

<asp:ScriptManager ID="scriptManager" EnablePageMethods="true" runat="server"/>

然后在您的aspx页面中添加此代码

<script>
        function GetHi() {

            PageMethods.SayHi(onComplete);
        }

        function onComplete(result) {
            alert(result);
        }

        GetHi();
</script>