动态设置ASPX页面的Title值
先写一个继承了System.Web.UI.Page 的基类PageBase,在基类PageBase中定义一个PageTitle属性, 重写OnLoad方法让Title=PageTitle的值.
为什么不在分类的产品列表页面的cs中直接override重写Page的Title方法呢?以为很遗憾的是Page的Title方法不是virtual的.
PageBase.cs代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for PageBase /// </summary> public class PageBase:System.Web.UI.Page { public PageBase() { // // TODO: Add constructor logic here // } protected virtual string PageTitle { get { return this.Title; //这里的get和set不重要,在基类中会重写它的get,set让PageTitle等于指定的值 } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); this.Title = this.PageTitle; } }
ASPX.CS中重写PageTitle :
protected override string PageTitle { get { string title = "商城 - {0}类别"; string categoryname = Convert.ToString(new QueriesTableAdapter().GetCategoryNameByCategoryID(int.Parse(Context.Request["CategoryID"]))); return string.Format(title,categoryname); } }