是否可以使用 ASP.NET FriendlyUrls 摆脱“索引”?
Posted
技术标签:
【中文标题】是否可以使用 ASP.NET FriendlyUrls 摆脱“索引”?【英文标题】:Is it possible to get rid of "Index" with ASP.NET FriendlyUrls? 【发布时间】:2013-02-22 10:20:23 【问题描述】:目前,我在我的 WebForms .NET 4.5 应用程序中使用(相当)新的 ASP.NET FriendlyUrls 功能来使 URL 看起来更清晰。
我想要实现的甚至是摆脱“索引”,因为它是文件夹的默认设置。
即:
http://www.some-server.com/my/folder/with/index.aspx <== Before FriendlyUrls
http://www.some-server.com/my/folder/with/index <== What I have
http://www.some-server.com/my/folder/with <== What I want
我尝试从内置类WebFormsFriendlyUrlResolver
派生出我自己的URL解析器类,覆盖函数
public override string ConvertToFriendlyUrl(string path)
然后在注册路由时将其传递给EnableFriendlyURls
扩展方法,然后在此覆盖中剥离“索引”。
不幸的是,似乎根本没有将 ASPX 文件 URL 传递给我的派生类。
所以我的问题是:
如何使 ASP.NET FriendlyUrls 功能完全删除“index.aspx”部分,而不仅仅是“.aspx”?
【问题讨论】:
当您只浏览文件夹时会发生什么?在IIS
中添加index.aspx
作为Default Document
选项有帮助吗?
谢谢,@Vaze - 我可以用 IIS 重写的东西很好地解决这个问题,我认为只使用纯 ASP.NET FriendlyUrls 会更优雅。
【参考方案1】:
在 Webforms 中,如果您使用 Default.aspx,它将自动将该页面用作默认文件夹。
【讨论】:
谢谢。实际上,默认文档功能带有 iis,而不是 webforms。由于我想避免重复的内容,这不是我正在寻求的解决方案。 你是在 IIS 上运行这个吗? 为了开发,我使用的是 vs webdev 服务器。 没有理由将服务器设置与代码分开。事实上,ASP.NET 中的许多关键特性实际上都是 IIS 设置。以上是关于是否可以使用 ASP.NET FriendlyUrls 摆脱“索引”?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 asp.net 之外使用 Razor View Engine
是否可以在 Visual Studio 2013 中使用 asp.net mvc 6?
是否可以将会话 ID 设置为我在 asp.net 中选择的值
是否可以使用 maproute 在 asp.net mvc 中路由多个参数