警报为什么不执行?

时间:2012-03-28 18:03:19

标签: c# javascript asp.net alert

我有一个控件,如果评论已经存在,如果它存在我想警告访问者,如果该人在警报中点击OK /是,评论将被覆盖,如果该人按否/取消评论将不会得到更新。但它不起作用,在调试警报线刚刚经过并更新而没有任何警报。

if (ReviewExist(StoreID, UserID) != 0)
{
    ScriptManager.RegisterStartupScript(this, this.GetType(), "Message", "confirm('Are you sure?');", true);
    UpdateStoreReview(Description);
    Response.Redirect("Default");
}
else      
{
    AddStoreReview(Description);
}

3 个答案:

答案 0 :(得分:8)

这是因为您的Response.Redirect会将控件重定向到另一个会忽略RegisterScript的页面。

你需要做的是,如果你试图通过按钮点击(更新按钮)来实现这一点,那么在Page_Load尝试

if(!IsPostBack)    
{
 btnUpdate.Attributes.Add("OnClick","confirm('Are you sure?');");
}

然后上面的代码可以改为

if (ReviewExist(StoreID, UserID) != 0)
{
    UpdateStoreReview(Description);
    Response.Redirect("Default");
}
else      
{
    AddStoreReview(Description);
}

注意 我认为你需要重定向到Default.aspx;但你在response.redirect中缺少.aspx。

答案 1 :(得分:2)

您需要脚本中的脚本标记。

ScriptManager.RegisterStartupScript(this, this.GetType(), "Message", "<script type='text/javascript'>confirm('Are you sure?');</script>", true);

答案 2 :(得分:1)

如果您使用ASP.net

<asp:Button ID="_btnSalvar" runat="server" Confirm="False" ConfirmType="None" Text="Are you sure?" Width="131px" OnClick="_btnSalvar_Click" />