领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

Response.Write与Redirect同时使用的问题

nixiaole 2024-11-25 15:45:11 知识剖析 27 ℃

今天找修改DNN的模块的发送按钮,想做个弹出发送成功窗口然后跳转到另外一个页,在按钮添加了Response.Write("...")与 Response.Redirect("...")发现不能公用。找了半天网上都建议用Response.Write("<script> alert('发送成功');location.href = '... "'</script>");的方法,但是我的连接是变量啊。好在原来变量也可以的:
string returnURL = Globals.NavigateURL(Convert.ToInt16(Request.QueryString["returnTabid"]));
Response.Write("<script>alert('发送成功');location.href = '" + returnURL + "'</script>");

问题一:

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

解决方式:

Response.Write("<script languge='javascript'>alert('成功修改'); window.location.href='index.aspx'</script>");

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

string a=当前的记录变量;

500){this.resized=true;this.style.width=500;}" align=top>Response.Write("<script language='javascript'>alert('"+a+"成功修改'); window.location.href="/index.aspx'<";/script>");
问题二:
如果要在连接中传递参数,则可用以下方法:
string param = "传递的参数";
Response.Write("<script languge='javascript'>alert('成功修改'); window.location.href='index.aspx?par =" + param + "'</script>");
问题三:
如果在Ajax的UpdatePanel中的按钮中用Response.Redirect()或Response.Write()进行URL带参数的页面重定向时出现错误。
由于Ajax是无刷新的,而使用Response进行带参重定向时需要刷新页面。在UpdatePanel下设置“asp: PostBackTrigger”的“ControlID”为指定的控件名称即可,如:
<Triggers>
<asp:PostBackTrigger ControlID="GridView" />

最近发表
标签列表