0

有没有办法在 cal 后面从 javascript 警告框中编写代码。我在网格视图上使用一个按钮。单击它时..它应该提醒一个确认框...然后对代码背后的功能进行校准。这是 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 中调用这个函数

4

3 回答 3

1

JavaScript客户端上运行。

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

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

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

于 2012-08-10T07:04:51.810 回答
1

可以使用WebMethod,看看Using jQuery to direct call ASP.NET AJAX page methods

于 2012-08-10T07:09:32.767 回答
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>
于 2012-08-10T07:07:58.000 回答