一组asp.net内部页面的通用url
本文关键字:url asp net 内部 一组 | 更新日期: 2023-09-27 18:09:03
我正在寻找一个解决方案,将允许我打印一组页面的通用url。例子:对于site.com/About/Contact.aspx, site.com/About/WhoWeAre.aspx, site.com/About/Members.aspx等页面,用户应该在地址栏中只看到site.com/About/。这是可以实现的吗?这个网站不是SEO友好,要求用户在访问内容之前登录,我也不希望site.com/About/或任何内部页面在浏览器上直接输入时解析到任何页面。我也很好,如果真正的url打印在状态栏上,如果用户悬停在内部链接。我不认为URL重写或URL路由工作在这里。也许我遗漏了什么。使用。net 3.5和c#。我正在标记sitecore,因为我对基于sitecore的解决方案更感兴趣,在那里我在About树下有不同的节点,我希望用户只能在地址栏中看到up/About,但我认为如果它可以在asp.net中完成,我可以找出sitecore部分。
如果你对sitecore感兴趣,我可以告诉你我们是如何在最近的sitecore构建中实现自定义URL的。
你需要通过扩展当前的LinkProvider来拥有一个自定义的链接管理器。LinkBuilder sitecore类。然后你需要通过重写GetItemUrl和buildlitemurl来添加你想要的URL的自定义逻辑,最后在web中显示URL。配置sitecore使用您的自定义链接管理器
当然,使用asp.net 4路由引擎。
这将给你你想要的:http://weblogs.asp.net/dotnetstories/archive/2011/01/03/routing-in-asp-net-4-0-web-forms.aspx
编辑:为3.5检查:友好的url为ASP。净
解决这个问题的唯一方法是在地址栏中保留/About,这将是创建客户端代码,根据用户选择切换出内容。
您可以通过加载About页面,然后使用回发或使用ajax调用加载任何子页面的内容来实现这一点。
您也可以在/About页面上放置iframe,并使用导航链接将iframe指向其他页面。
我认为你可以使用目标属性来瞄准iframe,或者使用javascript来改变iframe的src