自动弹出窗口问题
protected void Button1_Click1(object sender, EventArgs e){
string Title = txtTitle.Text;
string Content = this.WebEditor1.Text;
Model model = new Model();
model.Title=Title;
model.Content=Content;
try
{
CatalogDataBase.AddArticle(model);
MessageBox.Show(this, "添加文章成功!");
Response.Redirect("Article_Add.aspx");
}
catch
{
MessageBox.Show(this, "添加文章失败!");
}
}
以下是MessageBox类的代码
public class MessageBox
{
public static void Show(System.Web.UI.Page page, string msg)
{
page.ClientScript.RegisterStartupScript(page.GetType(), "", "<script language='javascript' defer>alert('" + msg.ToString() + "');</script>");
}
}
为什么添加失败就能弹出窗口.
而添加成功了却不能弹出添加成功窗口.. --------------------编程问答-------------------- 因为有 Response.Redirect("Article_Add.aspx");
所以直接执行Response.Redirect了 --------------------编程问答-------------------- 试着把 Response.Redirect("Article_Add.aspx"); 去掉
换成Response.write("<script>window.open('Article_Add.aspx')</script>");试试
--------------------编程问答-------------------- Response.write(" <script>alert('添加文章成功');window.location='Article_Add.aspx'; </script>"); --------------------编程问答-------------------- Response.write(" <script>alert('添加文章成功');window.location='Article_Add.aspx'; </script>");
这句正解!
MessageBox.Show(this, "添加文章成功!");
Response.Redirect("Article_Add.aspx");
这种方式有两个问题:
一、使用的MessageBox类是WinForm的,不好,要使用web的方式,就是alert方式;
二、在弹出提示框之后,页面马上就跳转了,所以看不见提示信息。 --------------------编程问答-------------------- 你把 Response.Redirect("Article_Add.aspx");
改写成 Server.Transfer("Article_Add.aspx");
试一试 --------------------编程问答-------------------- Response.Redirect("Article_Add.aspx");
很正常啊,应该不会错,
LZ检查过CatalogDataBase.AddArticle(model); 没有?
错误应该在这里冒出来的吧, --------------------编程问答-------------------- try
{
CatalogDataBase.AddArticle(model);
MessageBox.Show..去掉
换 Response.write("<script>alert('添加文章成功');window.location='Article_Add.aspx'; </script>");
Response.Redirect("Article_Add.aspx");
}
catch
{
MessageBox.Show(this, "添加文章失败!");
}
--------------------编程问答--------------------
补充:.NET技术 , ASP.NET