我想在按钮单击时执行以下代码,但是当我刷新页面时也执行以下代码。我不希望这种行为。请帮帮我。
string str = "Are you sure, you want to Approve this Record?";
this.ClientScript.RegisterStartupScript(typeof(Page), "Popup", "ConfirmApproval('" + str + "');", true);
答案 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):
}
}