如何确定母版页中请求的内容页面

时间:2012-01-15 15:34:25

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

如何确定从母版页加载方法请求的内容页面?例如,我有使用母版页的内容页面。如何确定用户从母版页中请求这三个页面中的哪一页?

感谢

2 个答案:

答案 0 :(得分:1)

您可以使用ContentPlaceHolder's Page属性从主页面确定内容页面。以下代码假定主页上的内容占位符名为MainContent

// Page_Load in your master page code behind file
protected void Page_Load(object sender, EventArgs e)
{
  if (this.MainContent.Page is _Default)
  {
    // The default page
  }

  if (this.MainContent.Page is About)
  {
    // The About page.
  }
}

答案 1 :(得分:1)

master page is actually a subclass of System.Web.UI.UserControl,因此它通过Page property引用了该页面。例如,如果您想知道ASPX文件和/或其文件夹,可以使用以下代码:

protected void Page_Load(object sender, EventArgs e)
{
  // Something like ~/Folder/Default.aspx
  string file = Page.AppRelativeVirtualPath;

  // Something like ~/Folder/
  string folder = Page.AppRelativeTemplateSourceDirectory;
}