为啥我使用 Response.Redirect 的时候出现错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我使用 Response.Redirect 的时候出现错误?相关的知识,希望对你有一定的参考价值。

最常见的原因就是你在写入页面之后对 HTTP 标题进行了修改,解决的方法是在页面的开始写上
〈%Response.Buffer=True%〉7
参考技术A 使用这个语句跳转之前,是不要有东西输出的页面的。
如果你已经使用输出语句,在页面上输出东西,或者已经看到了html页面。
那么,此时页面头已经存在了。就不允许在服务器段做条专了。
两个方法:
1、要不在输出前,跳转(或者跳转前别有输出);
2、用JS跳转,随时都可以。

在 ASP.NET 中使用带有友好 URL 的 Response.Redirect

【中文标题】在 ASP.NET 中使用带有友好 URL 的 Response.Redirect【英文标题】:Using Response.Redirect with Friendly URLS in ASP.NET 【发布时间】:2018-09-22 01:55:46 【问题描述】:

我正在使用 ASP.NET 中的友好 url 设计一个网站。当我将响应的重定向函数与变量一起使用时,我遇到了一个有趣的错误。当使用变量重定向页面时,您登陆的页面似乎认为您所在的页面实际上是主目录,从而破坏了该过程中的所有链接。例如,如果我重定向到一个页面并像这样传递一个变量:

Response.Redirect("nextpage/variable",false);

如果我在下一页有图片,链接将从:

<img src="images/foo.png">

<img src="nextpage/images/foo.png">

无论原始路径是什么,都会发生这种情况。我试图将图像链接到主目录,即:

<img src="./images/foo.png">
<img src="~/images/foo.png">

没有任何效果。它现在认为主目录从新页面开始(我假设是因为它看到友好 url 的名称并认为它是一个文件夹)

【问题讨论】:

【参考方案1】:

对于任何寻找答案的人来说,诀窍不是使用“./”或“~/”,而是使用正斜杠“/”很简单,如下所示:

<img src="/images/foo.png">

正斜杠返回到所有链接和图像的根。 :)

【讨论】:

以上是关于为啥我使用 Response.Redirect 的时候出现错误?的主要内容,如果未能解决你的问题,请参考以下文章

请高手看看我这段ASP代码中response.redirect为啥不起作用?

Response.Write 和 Response.redirect 不可同时使用

我可以在Response.Redirect中使用TempData吗?

Response.Redirect 使用 POST 而不是 Get?

Response.Redirect 使用查询字符串

不能在静态方法中调用 Response.Redirect