C# 如何确定母版页中请求的内容页
如何确定从母版页加载方法请求的内容页?对于ezample,我有使用母版页的内容页。如何确定用户从母版页请求的这三个页面中的哪一个C# 如何确定母版页中请求的内容页,c#,asp.net,c#-4.0,master-pages,C#,Asp.net,C# 4.0,Master Pages,如何确定从母版页加载方法请求的内容页?对于ezample,我有使用母版页的内容页。如何确定用户从母版页请求的这三个页面中的哪一个 谢谢您可以使用ContentPlaceHolder的page属性从母版页确定内容页。以下代码假定母版页上的内容占位符称为MainContent // Page_Load in your master page code behind file protected void Page_Load(object sender, EventArgs e) { if (th
谢谢您可以使用
ContentPlaceHolder的
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.
}
}
因此,它通过其。例如,如果要了解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;
}
澄清一下:您的页面实际上并不是从母版页继承的,它们只是“使用”母版页。页面继承自System.Web.UI.Page。
母版
页面本身具有页面
属性,因此您可以将this.MainContent.Page
更改为this.Page
,或者简单地将页面
更改为this.Page
。如果您获得了正确的“魔术字符串”值进行匹配,那么这就行得通了。如果可能的话(通常是这样),我更愿意针对页面
对象的类型进行测试。我只是想添加一些额外的信息,以防OP需要关于ASPX文件而不是代码隐藏类的信息。