视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ASP.NET动态设置页面标题的方法详解
2020-11-27 22:40:40 责编:小采
文档

  ASP.NET为我们提供了一个控件类:System.Web.UI.HtmlControls.HtmlGenericControl。它可以实现HTML的元素的一个实例,比如在.cs代码中控制aspx中的<td>元素(注意,它不是<ASP:TableCell>)。我们知道,页面标题是被包含在<TITLE></TITLE>中的,而<TITLE>也是一个HTML的元素,所以,我们就可以利用System.Web.UI.HtmlControls.HtmlGenericControl来控制<TITLE>了。
  ASP.NET中,如果想在.cs中控制aspx的一个元素(不论这个元素是Web控件还是HTML控件),那么这个元素的runat属性必须设置成server,也就是说,只有元素的runat属性设置成server后,在.cs中才可以控制这个元素(当然,这个元素必须设置id的)。

  现在我们着手试试,在aspx文件的HTML代码中,更改<TITLE>元素为:
代码如下:
    <TITLE runat="server" id="titleControl">Default Title</TITLE>

  注意一定要设置runat="server"和id(id很重要,并且注意大小写)。这里的Default Title是默认的标题,你不改标题时,就显示Default Title.
  转到.cs文件,声明一个变量titleControl,类型为System.Web.UI.HtmlControls.HtmlGenericControl:
代码如下:
    protected System.Web.UI.HtmlControls.HtmlGenericControl titleControl;

  这样,titleControl就是<TITLE>了。要改变标题就可以在.cs方法中(比如:Page_Load)加入:

    titleControl.InnerText=“我把标题给改了!”;

  其实对于System.Web.UI.HtmlControls.HtmlGenericControl控件可以作为所有的HTML控件在服务器端的表现,也就是说只要在后台代码(.aspx.cs/.aspx.vb)中声明一个与前端的HTML控件Id相同的System.Web.UI.HtmlControls.HtmlGenericControl控件对象就可以,并要注意前端的HTML控件的属性中要加上一句runat="server",要不然后,后台代码是不会对前端HTML控件执行操作的。

  也可以<title></title>之间加入Literal控件,效果一样!

下载本文
显示全文
专题