有人可以告诉我如何获取在母版页方案中调用的子页面的名称。例如,如果我有以下主页:
<%@ 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页面继承)?
答案 0 :(得分:1)
这是你要问的similar question,但我会注意接受的答案,试图从母版页中找出子页面可能不是一个好的设计理念。
答案 1 :(得分:1)
我会向另一个方向通知。将属性添加到母版页,然后从内容页面设置它们。
在你的主人:
public partial class PortalMaster : System.Web.UI.MasterPage
{
public string PageSection { get; set; }
}
在.aspx中添加此指令:
<%@ MasterType VirtualPath="PortalMaster.master" %>
然后在.aspx.cs中设置属性值,如下所示:
Master.PageSection = "about";
答案 2 :(得分:1)
继续你的评论,我看到了几个选择:
1)在您的登录页面中,在非回发上,检查推荐人 - 这将是发送到登录页面(Request.UrlReferrer)的页面,将其存储在会话中以回发他们的登录信息详细信息,然后将用户发回。
2)使用standard features of ASP.NET来处理登录/重定向(基本上使用与1相同的系统)。
答案 3 :(得分:0)
只需使用母版页的“Page”成员
即可答案 4 :(得分:0)
从母版页背后的代码中,Page.AppRelativeVirtualPath
属性会告诉您路径。