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

Posted

技术标签:

【中文标题】在 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">

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

【讨论】:

以上是关于在 ASP.NET 中使用带有友好 URL 的 Response.Redirect的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 友好 URL

如何在 ASP.NET 中将 base64 图像 URL 转换为用户友好 URL

ASP.NET 友好 URL 和 default.aspx

是否可以在经典 asp 中进行友好的 url(url 重写)?

ASP.NET MVC 中返回视图的 URL

带有 ASP.NET 路由的原始、未处理的 URL