网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

asp.net 2.0结合母板页使用meta标签

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13
d()Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    Dim tag As HtmlMeta = New HtmlMeta()
    tag.Name = "description"
    tag.Content = "My description for this page"
    Header.Controls.Add(tag)
End Sub

这种解决方法有一个问题,就是页的标题,meta描述,meta关键字都是相互关联的,所以我们想的是最好让标题和描述在同一个文件中指定。在Page_Load方法里确实可以很简单的在.aspx页中加入一个<script>标签,但是我想要一个更简单的设置和检查每一页标签的解决方案。

在接下来的方案中我们会看到如何通过扩展@Page指令给每一页加上meta标签。


解决方案
我创建了一个继承自System.Web.UI.Page的page基类,并且让我的内容页继承自我的BasePage类。BasePage类包含了在.aspx页中给header控件中增加meta标签的代码,当我们继承了BasePage的之后,这段代码就只需要在一个地方存在,而不用每一页都写一遍。
C#


using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;

/**//// <SUMMARY>
/// 为了给内容页增加meta标签而扩展基类
/// </SUMMARY>
public class BasePage : Page
{
    private string _keywords;
    private string _description;
    // 构造函数
    // 增加一个Init的事件处理
    public BasePage()
    {
        Init += new EventHandler(BasePage_Init);
    }

    // 页将使用这个基类初始化
    // 如果可用则增加meta关键字和meta描述
    void BasePage_Init(object sender, EventArgs e)
    {

        if (!String.IsNullOrEmpty(Meta_Keywords))
        {
            HtmlMeta tag = new HtmlMeta();
            tag.Name = "keywords";
            tag.Content = Meta_Keywords;
            Header.Controls.Add(tag);
        }

        if (!String.IsNullOrEmpty(Meta_Description))
        {
            HtmlMeta tag = new HtmlMeta();
            tag.Name = "description";
            tag.Content = Meta_Description;
            Header.Controls.Add(tag);
        }
    }

    /**//// <SUMMARY>
    /// 获取或设置页的meta关键字
    /// </SUMMARY>
    public string Meta_Keywords
    {
        get
        {
       

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号