我有一个使用母版页配置的 ASP.NET 应用程序。我想做的是两件事。
如何以编程方式设置子页面中的标题(如
<title></title>
标签中的文本?并且,如果子页面没有设置标题,我希望母版页面自动检测并设置默认标题。
如有任何帮助,我们将不胜感激。
最佳答案
您可以让您的页面继承自自定义页面
public abstract class CustomPage : Page
{
public virtual string PageTitle {get{return String.Empty;}}
}
然后,在您的 MasterPage 的 Page_Load 中执行(不记得 MasterPage.Title 是否存在,或者您是否必须执行 Page.Title,这将起作用,因为这两个对象都是 Page 对象):
if(Page is CustomPage) {
this.Page.Title = ((CustomPage)Page).PageTitle;
} else {
this.Page.Title = "Default Title";
}
然后,当您创建一个页面(例如 CustomerManager 页面)时:
public partial class CustomerManager : CustomPage
{
public override string PageTitle { get{return "Customer Manager"; }}
}
这样,您的 MasterPage 就不会 100% 依赖于使用 CustomPage(创建普通页面不会引发错误)。而且,如果您使用 CustomPage 对象,一切就绪!
关于c# - 设置页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1972851/