Response.Write("...")与 Response.Redirect("...")不能同时使用

来源:互联网 发布:linux强制停止sh 编辑:程序博客网 时间:2024/05/21 14:53

    这几天做用户登录功能,想做个用户名密码提示错误后页面跳转回来,在代码中添加了Response.Write("...")与 Response.Redirect("...")发现不能同时使用。找了半天网上都建议用Response.Write("<script>alert('发送成功');location.href = '..."'</script>");的方法。

    1.Response.Write 后代码写Response.Redirect,则Response.Write无法显示,直接跳转入Response.Redirect的页面。

            修改:      Response.Write("<scriptlanguge='javascript'>alert('用户名或密码错误!');window.location.href='default.aspx'</script>");

                             如果,script内容中含有变量,那么解决方法是:

                           string  temp=当前的记录变量;

                           Response.Write("<scriptlanguage='javascript'>alert('"+a+"成功修改');  window.location.href="default.aspx'<";/script>"); 

   2.如果你的连接中有参数,比如记录新闻ID

                            int id= "传递的参数";

                            Response.Write("<scriptlanguge='javascript'>alert('登录成功');window.location.href='NewsDetial.aspx?id=" + id+"'</script>"); 

  3.如果在Ajax的UpdatePanel中的按钮中用Response.Redirect()或Response.Write()进行URL带参数的页面重定向时出现错误。(摘)

       由于Ajax是无刷新的,而使用Response进行带参重定向时需要刷新页面。在UpdatePanel下设置“asp: PostBackTrigger”的“ControlID”为指定的控件名称即可,如:

      <Triggers>

       <asp:PostBackTriggerControlID="GridView" />

     </Triggers>