我有一个控件,如果评论已经存在,如果它存在我想警告访问者,如果该人在警报中点击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);
}
答案 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" />