C# asp.net内部页面集的通用URL

C# asp.net内部页面集的通用URL,c#,asp.net,url-rewriting,sitecore,sitecore6,C#,Asp.net,Url Rewriting,Sitecore,Sitecore6,我正在寻找一个解决方案,将允许我打印一组页面的通用url。 例子: 对于-site.com/About/Contact.aspx、site.com/About/whoware.aspx、site.com/About/Members.aspx等页面,用户应在地址栏中仅看到site.com/About/。 这是可以实现的吗?该网站不支持搜索引擎优化,要求用户在访问内容之前登录,而且我不希望site.com/About/或任何内部页面在直接在浏览器上键入时解析为任何页面。如果用户将鼠标悬停在内部链接上

我正在寻找一个解决方案,将允许我打印一组页面的通用url。 例子: 对于-site.com/About/Contact.aspx、site.com/About/whoware.aspx、site.com/About/Members.aspx等页面,用户应在地址栏中仅看到site.com/About/。 这是可以实现的吗?该网站不支持搜索引擎优化,要求用户在访问内容之前登录,而且我不希望site.com/About/或任何内部页面在直接在浏览器上键入时解析为任何页面。如果用户将鼠标悬停在内部链接上,在状态栏上打印真实的url,我也很好。我认为URL重写或URL路由在这里不起作用。也许我错过了什么。使用.NET3.5和C#。
我之所以标记sitecore,是因为我对基于sitecore的解决方案更感兴趣,因为我在“关于”树下有不同的节点,并且我希望用户只能在地址栏中看到最多/大约,但我认为如果可以在asp.net中完成,我可以找出sitecore部分。

当然,请使用asp.net 4路由引擎

这将为您提供您想要的:

编辑:对于3.5签出:

解决这个问题的唯一方法是,将/About保留在地址栏中,创建客户端代码,根据用户选择切换内容。

您可以通过加载About页面,然后使用回发或ajax调用加载任何子页面的内容来实现这一点。

您还可以在/About页面上放置一个iframe,并让导航链接将iframe指向其他页面


我认为您可能可以使用target属性以iframe为目标,或者使用javascript更改iframe的src。

由于您对sitecore感兴趣,我可以告诉您我们在最近的sitecore构建中是如何实现自定义URL的


您需要通过扩展当前的LinkProvider.LinkBuilder sitecore类来拥有自定义链接管理器。然后,您需要通过覆盖GetItemUrl和BuildItemUrl来显示URL,并最终在web.config中添加自定义逻辑,以便sitecore使用您的自定义链接管理器。

我不知道这些链接如何帮助我显示URL集的通用URL…啊,我遗漏了一部分-您想要整个集合不仅仅是一个url。抱歉-在这种情况下,您需要根据url动态加载您想要的任何页面。签出:我可以问你为什么不想显示完整的url吗?让我们说这是安全性的要求之一