【问题标题】:Master pages -- Getting calling page name母版页——获取调用页面名称
【发布时间】:2009-06-09 07:12:43
【问题描述】:

谁能告诉我如何获取在母版页场景中被调用的子页的名称。例如,如果我有以下母版页:

<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
    <asp:ContentPlaceHolder ID="cphMainContent" runat="server">
    </asp:ContentPlaceHolder>
</body>
</html>

我创建了一个名为 Test.aspx 的页面,它继承了该母版页,我如何从该母版页知道已请求 Test.aspx(因为该母版页可以被超过 1 个 aspx 页面继承)?

【问题讨论】:

  • 最终目标是什么?可能有更好的方法来实现您的目标。

标签: c# asp.net vb.net master-pages


【解决方案1】:

选择你的 cmets,我看到了几个选项:

1) 在您的登录页面中,在非回发时,检查推荐人 - 这将是将您发送到登录页面 (Request.UrlReferrer) 的页面,将其存储在会话中以回发他们的登录详细信息,然后将用户送回。

2) 使用standard features of ASP.NET 处理登录/重定向(基本上使用与 1 相同的系统)。

【讨论】:

    【解决方案2】:

    这是您所要求的similar question,但我会注意接受的答案,试图从母版页中找出子页面可能不是一个好的设计理念。

    【讨论】:

    • 实际上,我想要做的不是更改任何一个页面上的任何内容。我想要在母版页中做的是检查保存登录信息的会话变量,如果未设置该变量,我想重定向到登录页面。我想在我的查询字符串中分页一个 RefPage 变量,尽管它包含上一页的 URL,这样,在用户登录后,我可以将它们引回原始页面
    【解决方案3】:

    我会通知另一个方向。将属性添加到母版页,然后从内容页设置它们。

    在你的主人:

    public partial class PortalMaster : System.Web.UI.MasterPage
    {
    
        public string PageSection { get; set; }
    }
    

    在你的 .aspx 中添加这个指令:

    <%@ MasterType VirtualPath="PortalMaster.master" %>
    

    然后在您的 .aspx.cs 中设置属性值,如下所示:

    Master.PageSection = "about";
    

    【讨论】:

    • 实际上,我要做的不是更改任何一个页面上的任何内容。我想要在母版页中做的是检查保存登录信息的会话变量,如果未设置该变量,我想重定向到登录页面。我想在我的查询字符串中分页一个 RefPage 变量,尽管它包含上一页的 URL,这样,在用户登录后,我可以将它们引回原始页面
    • 在您的登录页面上,检查 Request.UrlReferrer。如果它有一个值(非空),将其存储在隐藏的输入中,然后在登录后重定向。不需要查询字符串。
    【解决方案4】:

    只需使用母版页的“页面”成员

    【讨论】:

      【解决方案5】:

      从 MasterPage 中的代码隐藏中,Page.AppRelativeVirtualPath 属性会告诉您路径。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多