• ASP.NET中动态设置Head<meta>区域标记


           一个页面的Head区的内容在SEO(搜索引擎优化)中起着非常重要的作用。尤其是Title,当然keywords和descrip tion的内容也是不容忽视的,尽管他们的地位已经降低了不少。搜索引擎的Spider(蜘蛛)从来就不喜欢千篇一律的内容。要夺取Spider的喜欢,就从你的Head区域开始吧,为每个页面设置与内容想符合的Head内容。

          ASP中动态设置Title、keywords、descrip tion很简单,跟一般的动态显示文章一样,<%=*** %>就可以了。ASP.NET中当然也可以这样做,或者你的整个页面都用Response.Write()输出,但是如果这样就没必要用ASP.NET了。 这里推荐使用两种以编程方式访问服务器上的Head区域标记的方法:

         1.使用Literal控件。Literal与Label非常相似,区别在于Label会在输出后加上标记,而Literal不会添加任何多余的标记。看代码:前台: 后台: ltPageTitle.Text = "页面标题"; ltPagekeywords.Text = "< name="keywords" content="关键词">"; ltPagedescrip tion.Text = "< name="descrip tion" content="内容描述">"; 效果一定会让你满意的!

         2.使用H t m l M e t a类 H t m l M e t a 是ASP.NET中新增的类,直接看代码: 前台: 后台: PageTitle.Text = “页面标题”;H t m l M e t a met1 = new H t m l M e t a(); met1.Name = "keywords";//设置m eta名称 met1.Content = “关键词”;//设置m eta内容

    head1.Controls.Add (met1);H t m l M e t a met2 = new H t m l M e t a(); met2.Name = "descrip tion"; met2.Content = "内容描述"; head1.Controls.Add ( met2 );这样就搞定了,注意上面的title,它可以直接加个ID和runat="server"使之成为服务器变量,在后台设置他的Text就行了。 另外如果网站较复杂,可以通过建立一个数据类进行设置,那就跟强大了!

    View Code
    public partial class index : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //Description HtmlMeta desc = new HtmlMeta(); desc.Name = "Description"; desc.Content = "铁合金行业新闻、铁合金生产技术资料等。"; Page.Header.Controls.Add(desc); //Keyword HtmlMeta keywords = new HtmlMeta(); keywords.Name = "keywords"; keywords.Content = "硅锰 硅锰合金 锰"; Page.Header.Controls.Add(keywords); } } } 
    View Code
           /// <summary>
            /// 过滤掉HTML标签
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static string NoHTML(string str)
            {
                str = Regex.Replace(str, @"(\<.[^\<]*\>)", " ", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase);
                str = Regex.Replace(str, @"(\<\/[^\<]*\>)", " ", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
                str = Regex.Replace(str, @"(&nbsp;)", "", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
                return str;
    
            }
    //括号中为你想要过滤掉的字符。如@"(&nbsp;)"
  • 相关阅读:
    转载:C# 文件下载(WebClient)
    文档生成业务的商业机会
    Java代码编译和执行的整个过程
    (转)TransitionManager
    安装了phpmyadmin
    转:jQuery框架学习第一天:开始认识jQuery
    转:Http post和 Get的本质区别
    vim基本命令汇总
    jQuery框架学习第二天:jQuery中万能的选择器
    IE的hasLayout属性
  • 原文地址:https://www.cnblogs.com/flyyingzi/p/2483052.html
Copyright © 2020-2023  润新知