0

我在MasterPage页面上使用带有动态菜单栏的 a 。如果用户请求重定向回登录(主页)页面,我不想将它们注销,但我确实想隐藏菜单栏。目前我正在使用用户是否经过身份验证来控制菜单栏是否可见。

基本上,我想在登录页面上始终隐藏菜单栏。菜单在页面本身之前呈现,因此我需要能够读取重定向请求以查看登录页面是否是目标。我尝试了一个Response.RedirectLocation字段,但这似乎是空的。

如何确定重定向请求是什么?

4

3 回答 3

0

我认为您使这变得更加复杂,这是必要的。

如果您使用母版页,只需在母版页中公开一个公共功能,您的内容页可以调用并隐藏您的菜单。因此,在您的登录页面中,您将始终调用母版页隐藏菜单功能。

这是 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();

如果您按照以下步骤操作,那应该可以帮助您工作。

于 2009-09-25T04:58:48.827 回答
0

使重定向将原始 url 作为 URL 参数发送,例如

&origurl=http://www.domain.com/original_page
于 2009-09-25T04:59:23.940 回答
0

如果您只是想在登录页面上隐藏菜单栏,那将不难。您可以做的是将 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 的默认内容的更多信息。

于 2009-09-25T05:12:09.257 回答