asp.net中Response.write与Response.Redirect同时使用

今天在做项目的时候出现了个问题,Response.write与Response.Redirect同时使用的时候,直接跳转到Response.Redirect后的界面,没有显示出Response.write,觉得不美观,就去网上找了解决办法

原因:1.Response.Write与Response.Redirect()同属服务器端处理,而写入的js属于客户端处理。没有效果的原因就是,尽管Response.Write已经将JS成功写入了准备发送给客户端的页面,但由于之后紧跟了Response.Redirect,所以实际上准备发送给客户端的页面并没有发送给客户端,而是直接跳转到SysProductsList.aspx页面上,js提示自然就显示不出来了。

   2.

Response.Write("<script>alert(‘标题不能为空!‘);</script>");

在当前页面添加了一个JS事件;该事件会在页面载入完成后,再执行客户端JS脚本;

    Response.Redirect("Welcome.aspx");

在页面载入到这个地方的时候,已经跳走了,所以没有给 客户端的JS脚本有机会;

一个是服务器端跳转,一个是客户端JS脚本;
如果你用的是客户端JS跳转就没问题;

都是网上找的

解决办法:(在网上找了很多,但大多数我这里都用不了,挑一个能用的发上来)

 if (ds.Tables[0].Rows.Count == 1)
            {
                 
             //  Response.Write("<script language=‘javascript‘>alert(‘登录成功!‘);history.back();</script>");
                //Response.Write("<script language=‘javascript‘>alert(‘登录成功!‘);history.back(</script>;window.location.href=‘学生界面.aspx‘</script>");
               


Response.Write("<script>alert(‘登录成功!‘);location.href=‘学生界面.aspx‘;</script>");//《—这货能用
            }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。