c# - 设置页面标题

标签 c# asp.net html

我有一个使用母版页配置的 ASP.NET 应用程序。我想做的是两件事。

  1. 如何以编程方式设置子页面中的标题(如 <title></title> 标签中的文本?并且,

  2. 如果子页面没有设置标题,我希望母版页面自动检测并设置默认标题。

如有任何帮助,我们将不胜感激。

最佳答案

您可以让您的页面继承自自定义页面

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/

相关文章:

c# - 如何用增量数字替换之前包含一些字符的唯一字符串

c# - 使用 Mailkit : "The SMTP server has unexpectedly disconnected."

c# - 在目录中组织命名空间和类

c# - 错误 "Sanitizer provider is not configured in the web.config file. "

asp.net - ASP.NET类中的访问响应对象

c# - 检测是否在 KeyRoutedEventArgs 事件中按下修改键

asp.net - 多行文本框的默认字体与单行文本框不同?

javascript - 动态设置top div位置

html - Firefox 按钮变大

php - 在同一行显示三个不同的值