我构建了一个简单的ASP.NET网站,其中包含一个菜单,其中包含链接到每个菜单项的所有页面URL.当我点击一个菜单项时,页面URL出现在地址栏中,如“http://mywebsite/xyz/webform1.aspx”.我想隐藏此
如果这太复杂了,那么是否有可能为每个页面显示一个假网址代替实际网址?我不想在网址中显示实际的网页名称. 你可以合理地实现这一点的唯一方法是使用通常称为“URL Cloaking”的方法,通过使用框架集或iframe来包装页面,以便所有操作都在框架内发生而不改变浏览器URL.
以一种不合理的方式实现这一点,你需要编写一个自定义视图引擎(我建议你使用MVC,如果你认真对待这个)你使用像会话一样的持久存储,因为它绑定到用户存储“网页的网址.在您的视图引擎中,您可以让它与会话进行交互,以确定用户应该呈现的物理页面的位置.
在此之后,您需要实现所有自己的Redirect / RedirecToAction功能,因为您将不再使用真正的重定向,但会话中会有一个像RedirectLocation这样的变量.
要做到这一点将是一项相当大的任务,我建议不要这样做.如果你绝对觉得你需要单一的URL,那就选择隐形方式.或者正如@Slaks评论的那样根本就不要这样做.