我想从我的 asp.net 网站 URL 中隐藏子目录和页面信息。例如,我不想显示http://msdn.microsoft.com/en-us/library/aa479015.aspx ,而是希望始终在用户的浏览器地址栏中显示类似http://msdn.microsoft.com/的内容。
问问题
4389 次
3 回答
1
这需要支持 History API 的现代浏览器
history.pushState({}, false, "/");
如果你在文件加载时调用它,你应该达到预期的效果
更多信息:
于 2012-11-10T15:59:44.477 回答
0
一种方法是将您当前的处理程序信息保存在 cookie 中,然后保存在全局 asax BeginRequest 中,并使用HttpContext.Current.RemapHandler
基于该 cookie 将它们的请求重新映射到不同的处理程序。另一种方法是在您的页面上使用 iframe,这将是最简单的。
于 2012-11-10T16:08:13.363 回答
0
虽然我认为这不是很好的样式,但您可以将页面插入框架(或 iframe):
您的域的起始页,fe http://msdn.microsoft.com/:
<frameset rows="100%">
<frame src="/realstartpage.htm">
</frameset>
现在当用户导航到另一个页面时,地址栏不会改变,因为只是更新了框架的内容。请注意,指向您网站外部页面的链接应针对最外层框架:
<a href="http://stackoverflow.com" target="_top">Stackoverflow</a>
但是,当用户通过指向 http://msdn.microsoft.com/en-us/library/aa479015.aspx的直接链接进入时,您将需要通过 a转发到http://msdn.microsoft.com/脚本并通过处理服务器上的 URL 参数来创建框架集(或 iframe)fe。
于 2012-11-10T16:10:19.173 回答