1

我尝试使用 IHttpModule 并设法将 url 转换得很好,但是我所有的图像都返回了路径错误(全部通过新的 url 目录)。

解决方案是什么?

4

3 回答 3

1

您需要确保在图像上使用“~/”路径符号,并确保它们都是带有 runat='server' 的服务器控件。否则图像 url 将不会被重写。

例如,如果您有一个从以下位置重写的页面:

/项目/自行车.aspx

/Item.aspx?id=1234

然后会发生这样的图像引用:

<img src='images/something.gif' />

会破裂。因此,您必须执行以下操作:

<asp:image imageurl='~/images/something.gif' runat='server' id='img1'/>

或者,您可以为图像使用绝对路径。或者您可以将尽可能多的内容推送到您的 .css 文件中。

于 2008-11-10T20:00:52.873 回答
0

解决方案是什么?使用在 MVC 项目中启动并提升为独立状态的 .NET 3.5 中的新路由引擎。:)

如果 Keltex 的建议不能解决您的具体问题,请查看 ResolveUrl 和 ResolveClientUrl。

于 2008-11-11T01:29:05.173 回答
0

您可以尝试使用 URL 重写器,例如IIRF

使用 IIRF,您可以根据需要使用正则表达式解析传入的 URL,然后将其发送到正确的位置。

他们在 IIRF 下载中内置了有关如何执行所有这些操作的示例。

于 2008-11-10T19:19:37.213 回答