我构建了一个简单的 ASP.NET 网站,其中有一个菜单,其中所有页面 URL 都链接到每个菜单项。当我单击菜单项时,页面 URL 会出现在地址栏中,如“http://mywebsite/xyz/webform1.aspx”。我想隐藏此页面网址,而只显示网站的网址,例如所有页面的“http://mywebsite”。请告诉我如何实现这一目标。提前致谢。 如果这太复杂而难以实现,那么是否可以为每个页面显示一个假网址来代替实际网址?我不想在网址中显示实际的页面名称。
最佳答案
合理实现这一目标的唯一方法是使用通常称为“URL Cloaking”的方法,您可以通过使用框架集或 iframe 来包装页面,以便所有操作都发生在框架内,而无需更改浏览器 URL。
以一种不合理的方式来实现这一点,您需要编写一个自定义 View 引擎(如果您认真对待这一点,我建议使用 MVC),其中您使用像 session 这样的持久存储,因为它绑定(bind)到用户存储页面的“url”。在您的 View 引擎中,您将让它询问 session 以确定用户所在的位置以呈现应呈现的物理页面。
此后,您将需要实现您自己的所有 Redirect/RedirectToAction 功能,因为您将不再使用真正的重定向,但会在 session 中拥有像 RedirectLocation 这样的变量。
要做到这一点将是一项相当艰巨的任务,我建议不要这样做。如果您绝对认为需要单个 URL,请使用隐藏方法。或者正如 @Slaks 评论的那样,根本不要这样做。
关于asp.net - 在 ASP.NET 网站中隐藏页面 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4156233/