如何使用asp.net中的服务器端代码显示警报?

时间:2011-07-15 09:51:00

标签: asp.net

我想在按钮单击时执行以下代码,但是当我刷新页面时也执行以下代码。我不希望这种行为。请帮帮我。

string str = "Are you sure, you want to Approve this Record?";
this.ClientScript.RegisterStartupScript(typeof(Page), "Popup", "ConfirmApproval('" + str + "');", true);

4 个答案:

答案 0 :(得分:6)

你的问题很不清楚。我假设您使用ASP.NET C#,这是方法:

public static class ClientMessageBox
{

    public static void Show(string message, Control owner)
    {
        Page page = (owner as Page) ?? owner.Page;
        if (page == null) return;

        page.ClientScript.RegisterStartupScript(owner.GetType(),
            "ShowMessage", string.Format("<script type='text/javascript'>alert('{0}')</script>",
            message));

    }

}

然后,在你的页面中(记得引用上面的类):

protected void Page_Load(object sender, EventArgs e)
{
    ClientMessageBox.Show("Hello World", this);
}

看看它对你的情况是否有帮助。

答案 1 :(得分:3)

您应该查看将警报放入按钮的OnClientClick方法。

E.g。 (添加其他必需属性并单击处理程序)

<asp:Button ID="ApproveButton" runat="server" CausesValidation="False"
    OnClientClick="return confirm('Are you certain you want to approve this record?');" />

如果用户单击“确定”,则会运行正常的点击代码,但如果取消,则该函数返回false,因此不会处理该点击。

答案 2 :(得分:1)

OnClientClick添加到按钮

<asp:Button OnClientClick="return confirm('Are you sure, you want to Approve this Record?')" runat="server" />

答案 3 :(得分:0)

您应该使用 marto'ss Chris W's 代码。如果你想要一个干净的HTML标记,请使用它。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string script = "javascript:return confirm('Are you certain you want to approve this record?');";
        //id of your button
        button.Attributes.Add("onclick", script):
    }
}