asp.net中提交后无法弹出成功窗口问题
新写一个网页,提交后可能弹出一个成功窗口,后来又新增了提交成功后跳转的功能,却无法弹出成功窗口了,去掉跳转功能后又可以弹出窗口,请问要如何解决?代码如下:protecte...
新写一个网页,提交后可能弹出一个成功窗口,后来又新增了提交成功后跳转的功能,却无法弹出成功窗口了,去掉跳转功能后又可以弹出窗口,请问要如何解决?
代码如下:
protected void btnSubmit_Click(object sender, EventArgs e)
{
QAController Ohc = new QAController();
QAInfo QaInfo = new QAInfo();
QaInfo.Method = Int32.Parse(rdolReplyType.SelectedValue);
QaInfo.Topic = txtTitle.Text;
QaInfo.More = txtContent.Text;
QaInfo.PostDate = DateTime.Now;
QaInfo.Type = ddlType.SelectedValue;
QaInfo.PostUser = "11111111";
string msg = Ohc.AddQAInfo(QaInfo);//获得成功的信息!
if (msg != null && msg != "")
{
Type csType = this.GetType();
ClientScriptManager cs = Page.ClientScript;
if (!cs.IsClientScriptBlockRegistered("msg"))
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("alert('");
sb.Append(msg);
sb.Append("')</script>");
cs.RegisterClientScriptBlock(csType, "msg", sb.ToString());
Response.Redirect("/web/OnlineHelp.aspx");
}
}
else
{
//Response.Redirect("/web/OnlineHelp.aspx");
}
} 展开
代码如下:
protected void btnSubmit_Click(object sender, EventArgs e)
{
QAController Ohc = new QAController();
QAInfo QaInfo = new QAInfo();
QaInfo.Method = Int32.Parse(rdolReplyType.SelectedValue);
QaInfo.Topic = txtTitle.Text;
QaInfo.More = txtContent.Text;
QaInfo.PostDate = DateTime.Now;
QaInfo.Type = ddlType.SelectedValue;
QaInfo.PostUser = "11111111";
string msg = Ohc.AddQAInfo(QaInfo);//获得成功的信息!
if (msg != null && msg != "")
{
Type csType = this.GetType();
ClientScriptManager cs = Page.ClientScript;
if (!cs.IsClientScriptBlockRegistered("msg"))
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("alert('");
sb.Append(msg);
sb.Append("')</script>");
cs.RegisterClientScriptBlock(csType, "msg", sb.ToString());
Response.Redirect("/web/OnlineHelp.aspx");
}
}
else
{
//Response.Redirect("/web/OnlineHelp.aspx");
}
} 展开
3个回答
展开全部
肯定是这样了。
弹出窗口的语句不是在运行到这一句时就弹出,而是要等到这个事件(方法\搏者函数)的语句执行完才会。基信薯而如果最后又增加了跳坦做转语句,那就马上执行了跳转语句转到别的页面了,原先的页面上的脚本不再执行,所以没有弹出。
可以把跳转语句也写到js里面,先弹出,在确认后再跳转。
Response.Write("<script language=javascript>alert('" + MsgStr + "');window.location='" + url + "'</script>");
弹出窗口的语句不是在运行到这一句时就弹出,而是要等到这个事件(方法\搏者函数)的语句执行完才会。基信薯而如果最后又增加了跳坦做转语句,那就马上执行了跳转语句转到别的页面了,原先的页面上的脚本不再执行,所以没有弹出。
可以把跳转语句也写到js里面,先弹出,在确认后再跳转。
Response.Write("<script language=javascript>alert('" + MsgStr + "');window.location='" + url + "'</script>");
展开全部
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('"+msg+"'棚蚂)"链做埋胡旦, true);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就茄宴是Response.Redirect("/web/OnlineHelp.aspx");造成的!
把颤嫌银javascript中者枣的跳转写在一起即可!
把颤嫌银javascript中者枣的跳转写在一起即可!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询