在ASP.net C#vs 05上工作。
防止页面刷新时重复记录插入。在按钮事件下我写下了代码
Response.Redirect(Request.Url.ToString(), false);
我还在此事件下使用了javascript警报,在使用上面的代码警报消息后没有显示,从服务器端代码显示消息框?
string message = "Data saved successfully.";
string s = "<script type=\"text/javascript\">alert('" + message + "');</script>";
ClientScript.RegisterStartupScript(GetType(), "Alert", s);
答案 0 :(得分:0)
try{
Response.Redirect(Request.Url.ToString(), false);
}catch(e){
alert(e.message);
}
答案 1 :(得分:0)
警报对话框可能会显示,但由于页面被重定向,您无法看到它。
您可以在重定向时向查询字符串添加内容。在pageload上查找并在pageload上注入警告javascript,而不是在按钮点击事件中执行此操作。
保存事件结束:
Response.Redirect("/page_you_want_to_redirect_to.aspx" + "?save=success");
在重定向的页面上:
public void Page_Load(object sender, System.EventArgs e)
{
//...
if (!Page.IsPostBack && String.Equals(Request.QueryString["save"], "success"))
{
string s = "<script type=\"text/javascript\">alert('Data saved successfully.');</script>";
ClientScript.RegisterStartupScript(GetType(), "SaveAlert", s);
}
//...
}
更优雅的解决方案将是异步调用和显示模式对话框。刷新页面不会以这种方式导致回发。您可以通过放入UpdatePanel并使用一些jQuery进行模态对话来轻松完成此任务。