当请求重定向时,如何读取目标 URL?

发布于 2024-08-05 23:21:23 字数 249 浏览 4 评论 0原文

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

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

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

I am using a MasterPage with a dynamic menu bar across the page. If the user has requested a redirect back to the login (home) page, I don't want to log them out but I do want to hide the menu bar. Currently I am using whether the user is authenticated to control if the menu bar is visible or not.

Basically, I want to always hide the menu bar when on the login page. The menu is rendered prior to the page itself so I need to be able to read the redirect request to see if the login page is the destination. I tried a Response.RedirectLocation field but that seems to be null.

How can I determine what the redirect request is?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

往日情怀 2024-08-12 23:21:23

我认为你让事情变得更加复杂了。

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

以下是解释如何公开母版页的 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();

应该得到如果您按照以下步骤操作,您就可以工作了。

I think your making this more complicated that it needs to be.

If your using master pages, just expose a public function in your master page that your content page can call and hide your menu. So in your login page you will always call the master pages hide menu function.

Here is a link to an MSDN article explaining how to expose the Master Page:

http://msdn.microsoft.com/en-us/library/xxwa0ff0.aspx

EDIT: You need to name you MasterPage's class something like MyMasterPage. Then make sure your inherits property in your Master's aspx page is correct:

Inherits="Your.Name.Space.MyMasterPage"

Then in your content page you should be to just add the following:

<%@ MasterType TypeName="Your.Name.Space.MyMasterPage" %>

Lastly you can access anything in your master page now since you have already defined it's type by:

Master.CallYourFunction();

That should get you working if you follow these steps.

蘑菇王子 2024-08-12 23:21:23

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

&origurl=http://www.domain.com/original_page

Make the redirect send the original url as a URL parameter like

&origurl=http://www.domain.com/original_page
幼儿园老大 2024-08-12 23:21:23

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

If you just wana hide Menu bar on login page then it wont be difficult. What you can do is you put Manu bar inside ContentPlaceHolder in Mater Page. And on your login page you can just add blank Content which will override Menu ContentPlaceholder from Master page.

<asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" Runat="Server">

Here is declarative syntax on Mater page

<asp:ContentPlaceHolder id="MenuContent" runat="server"> Your Menu goes here    </asp:ContentPlaceHolder> 

Now on other pages you do no have to override default content which is showing Menu from Mater page where you need to display Menu.

You can read more about overriding Mater Page's default content over Here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文