【发布时间】:2012-02-15 15:54:46
【问题描述】:
我现在遇到了一个关于 ASP.NET WebForms 中路由的奇怪问题。我尝试使用路由的唯一原因是为了获得更好看的 URL,仅此而已。另外,这是我第一次尝试实现路由。
我的目标很简单: www.domain.com/default.aspx --> www.mydomain.com/Home-Page
所以,我在 global.asax 中实现了以下内容
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
RegisterRoutes(RouteTable.Routes)
End Sub
和
Sub RegisterRoutes(ByVal routes As RouteCollection)
routes.MapPageRoute("homepage", "Home-Page", "~/Default.aspx")
End Sub
目标实现了,但由于逻辑原因,我页面上的所有图像都消失了;
而不是定位img/someimage.png,而是试图获取Home-Page/img/someimage.png
现在,我当然可以更正图像的路径,但这需要相当长的时间。我很乐意改用路由。
我的问题: 有什么办法可以防止文件夹(图片、css、js等)受到路由机制的影响,只实现漂亮的URL?
【问题讨论】:
-
这些扩展通常不会被 asp.net 处理程序处理,因此通常不会受到路由的影响。您是否已将 IIS 配置为强制所有文件类型通过 asp.net?
-
它实际上是在路由图像吗?还是只是试图相对于页面访问它们?也许你只需要让它们绝对是网站根目录,例如“~/img/someimgage.png”?
-
@TiesonT。谢谢你的链接。是的,我确实检查过,但那里的解决方案不起作用。
-
@DaleBurrell 这是一个非常有趣,当然不是意料之中的工作答案,它表明有时我们必须改变看待事物的角度。我从没想过除了我的global.asax,因此您在这里有一个简单的 html 解决方案.. 不可思议!非常感谢..
标签: asp.net url routing webforms