我正在编写主页的代码,需要知道当前显示的子页面是哪个。如何通过程序实现这一功能?
我正在使用很多答案
<%if(this.MainContent.Page.Title != "mypagetitle") { %>
<%}%>
<%: this.ContentPlaceHolder1.Page.GetType().Name.Split('_')[0].ToUpper() %>
将该代码放置在Site.Master的我在我的一个项目中做了类似的事情,根据加载的页面动态附加css文件。 我只是从请求中获取文件的名称:
this.Request.Url.AbsolutePath
然后从中提取文件名。不过,如果您正在执行URL重写,则无法确定此方法是否有效。
你可以通过获取请求的最后一段来确定表单名称
string pageName = this.Request.Url.Segments.Last();
if (pageName.Contains("EmployeeTermination.aspx"))
{
}
Page.Request.Url.PathAndQuery或Url Uri对象的其他属性应该在主页面代码中对您可用。
你可以在代码后台检查页面类型:
// Assuming MyPage1, MyPage2, and MyPage3 are the class names in your aspx.cs files:
if (this.Page is MyPage1)
{
// do MyPage1 specific stuff
}
else if (this.Page is MyPage2)
{
// do MyPage2 specific stuff
}
else if (this.Page is MyPage3)
{
// do MyPage3 specific stuff
}
MyPage1
,但实际上并不是这样。你会得到类似于ASP.MyPage1_aspx
这样的东西,而你不能在编译时引用这种类型。 - Roman Starkov