我在MasterPage
页面上使用带有动态菜单栏的 a 。如果用户请求重定向回登录(主页)页面,我不想将它们注销,但我确实想隐藏菜单栏。目前我正在使用用户是否经过身份验证来控制菜单栏是否可见。
基本上,我想在登录页面上始终隐藏菜单栏。菜单在页面本身之前呈现,因此我需要能够读取重定向请求以查看登录页面是否是目标。我尝试了一个Response.RedirectLocation
字段,但这似乎是空的。
如何确定重定向请求是什么?
我在MasterPage
页面上使用带有动态菜单栏的 a 。如果用户请求重定向回登录(主页)页面,我不想将它们注销,但我确实想隐藏菜单栏。目前我正在使用用户是否经过身份验证来控制菜单栏是否可见。
基本上,我想在登录页面上始终隐藏菜单栏。菜单在页面本身之前呈现,因此我需要能够读取重定向请求以查看登录页面是否是目标。我尝试了一个Response.RedirectLocation
字段,但这似乎是空的。
如何确定重定向请求是什么?
我认为您使这变得更加复杂,这是必要的。
如果您使用母版页,只需在母版页中公开一个公共功能,您的内容页可以调用并隐藏您的菜单。因此,在您的登录页面中,您将始终调用母版页隐藏菜单功能。
这是 MSDN 文章的链接,该文章解释了如何公开母版页:
http://msdn.microsoft.com/en-us/library/xxwa0ff0.aspx
编辑:您需要将 MasterPage 的类命名为 MyMasterPage。然后确保您在 Master 的 aspx 页面中的继承属性是正确的:
Inherits="Your.Name.Space.MyMasterPage"
然后在您的内容页面中,您应该只添加以下内容:
<%@ MasterType TypeName="Your.Name.Space.MyMasterPage" %>
最后,您现在可以访问母版页中的任何内容,因为您已经通过以下方式定义了它的类型:
Master.CallYourFunction();
如果您按照以下步骤操作,那应该可以帮助您工作。
使重定向将原始 url 作为 URL 参数发送,例如
&origurl=http://www.domain.com/original_page
如果您只是想在登录页面上隐藏菜单栏,那将不难。您可以做的是将 Manu bar 放在 Mater Page 的 ContentPlaceHolder 中。在您的登录页面上,您只需添加空白内容,这将覆盖主页面中的菜单 ContentPlaceholder。
<asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" Runat="Server">
这是 Mater 页面上的声明性语法
<asp:ContentPlaceHolder id="MenuContent" runat="server"> Your Menu goes here </asp:ContentPlaceHolder>
现在在其他页面上,您不必覆盖从需要显示菜单的 Mater 页面显示菜单的默认内容。
您可以在此处阅读有关覆盖 Mater Page 的默认内容的更多信息。