如何确定从主页面显示哪个子页面?(涉及IT技术)

26

我正在编写主页的代码,需要知道当前显示的子页面是哪个。如何通过程序实现这一功能?

16个回答

0

我正在使用很多答案

<%if(this.MainContent.Page.Title != "mypagetitle") { %>
<%}%>

这使得排除任何单个页面变得容易,因为您正在比较一个字符串,甚至可以给页面添加前缀,如exclude_pagetitle,并比较标题的子字符串。我经常使用这种方法来排除登录页面中的某些功能,例如会话超时和实时聊天,以避免加载。

0
你可以尝试这个: <%: this.ContentPlaceHolder1.Page.GetType().Name.Split('_')[0].ToUpper() %> 将该代码放置在Site.Master的标签中。

0

我在我的一个项目中做了类似的事情,根据加载的页面动态附加css文件。 我只是从请求中获取文件的名称:

this.Request.Url.AbsolutePath

然后从中提取文件名。不过,如果您正在执行URL重写,则无法确定此方法是否有效。


0

你可以通过获取请求的最后一段来确定表单名称

string pageName = this.Request.Url.Segments.Last(); 

if (pageName.Contains("EmployeeTermination.aspx"))
{

}

-2

Page.Request.Url.PathAndQuery或Url Uri对象的其他属性应该在主页面代码中对您可用。


-4

你可以在代码后台检查页面类型:

// 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
}

这也是我期望的,但却不起作用。ASP.NET似乎混淆了类声明(非常令人烦恼!),所以虽然看起来像是在声明MyPage1,但实际上并不是这样。你会得到类似于ASP.MyPage1_aspx这样的东西,而你不能在编译时引用这种类型。 - Roman Starkov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接