繁体   English   中英

母版页-获取呼叫页名称

[英]Master pages — Getting calling page name

有人可以告诉我在母版页方案中如何获取要调用的子页的名称。 例如,如果我具有以下母版页:

<%@ 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页继承)?

这是您要问的问题类似的问题 ,但是我要注意已接受的答案,试图从母版页中找出子页可能不是一个好的设计思想。

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

在您的主人中:

public partial class PortalMaster : System.Web.UI.MasterPage
{

    public string PageSection { get; set; }
}

在您的.aspx中添加以下指令:

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

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

Master.PageSection = "about";

随您的意见,我看到了两个选择:

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

2)使用ASP.NET标准功能来处理登录/重定向(基本上使用与1相同的系统)。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM