Asp.net 2.0 关于Header/title/Meta tages/Style操作的一点小技巧||动态修改 Header 属性如添加 Meta 标签 keywords description

58 篇文章 0 订阅
收集一些偶然看到的小Tips,先列一些在这儿,慢慢补充。

设置Title :
this .Header.Title = " 这是个Title测试 " ;

如果用了MasterPage可以这样用:
this .Page.Title  =  SiteMap.CurrentNode.Title; 

动态设置Style:
Style style  =   new  Style();
style.ForeColor 
=  System.Drawing.Color.Navy;
style.BackColor 
=  System.Drawing.Color.LightGray;

//  Add the style to the header for the body of the page
this .Header.StyleSheet.CreateStyleRule(style,  null " body " );

动态加样式表:
HtmlLink link  =   new  HtmlLink();
link.Attributes.Add(
" type " " text/css " );
link.Attributes.Add(
" rel " " stylesheet " );
link.Attributes.Add(
" href " " ~/newstyle.css " );
this .Header.Controls.Add(link);

动态加meta tags :
//  Render: <meta name="keywords" content="Some words listed here" />
HtmlMeta meta  =   new  HtmlMeta();
meta.Name 
=   " keywords " ;
meta.Content 
=   " Some words listed here " ;
this .Header.Controls.Add(meta);

//  Render: <meta name="robots" content="noindex" />
meta  =   new  HtmlMeta();
meta.Name 
=   " robots " ;
meta.Content 
=   " noindex " ;
this .Header.Controls.Add(meta);

//  Render: <meta name="date" content="2006-03-25" scheme="YYYY-MM-DD" />
meta  =   new  HtmlMeta();
meta.Name 
=   " date " ;
meta.Content 
=  DateTime.Now.ToString( " yyyy-MM-dd " );
meta.Scheme 
=   " YYYY-MM-DD " ;
this .Header.Controls.Add(meta);

 http://andyliu.cnblogs.com/archive/2006/03/28/360645.html

----------------------------------------------------------------------------------------------

ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description
2008年03月24日 星期一 10:59

    // 设置关键字和页面描述
    public void setMeta(string key,string des)
    {
        HtmlMeta
            keywords = new HtmlMeta(), // keywords
            description = new HtmlMeta(); // description
        keywords.Name = "keywords";
        keywords.Content = key;

        description.Name = "description";
        description.Content = des;

        Page.Header.Controls.Add(keywords);
        Page.Header.Controls.Add(description);
    }

在ASP.NET编程中,由于经常采用一个页面通过不同的参数来显示不同的内容,因此常常需要实现动态输出不同的html header, 比如title, keywords, descrtptions等。

推荐的简单做法如下:

protected void Page_Load(object sender, EventArgs e)
{
   //Page title
   Page.Title = "This is a title and meta test page.";

   //Encode/Content type
   HtmlMeta encode = new HtmlMeta();
   encode.HttpEquiv = "Content-Type";
   encode.Content = "text/html; charset=utf-8";
   Page.Header.Controls.Add(encode);

   //Language
   HtmlMeta lang = new HtmlMeta();
   lang.HttpEquiv = "Content-Language";
   lang.Content = "zh-cn";
   Page.Header.Controls.Add(lang);

   //Description
   HtmlMeta desc = new HtmlMeta();
   desc.Name = "Description";
   desc.Content = "Test the meta controls";
   Page.Header.Controls.Add(desc);

   //Keyword
   HtmlMeta keywords = new HtmlMeta();
   keywords.Name = "keywords";
   keywords.Content = "title,meta,test,page";
   Page.Header.Controls.Add(keywords);

   //Link/CSS
   HtmlLink cssLink = new HtmlLink();
   cssLink.Href = "MasterPage.css";
   cssLink.Attributes.Add("rel", "stylesheet");
   cssLink.Attributes.Add("type", "text/css");
   Page.Header.Controls.Add(cssLink);
}

浏览时输出的页面源码便会达到如下效果:

<head><title>
This is a title and meta test page.
</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Content-Language" content="zh-cn" /><meta name="Description" content="Test the meta controls" /><<meta name="keywords" content="title,meta,test,page" /><link href="MasterPage.css" rel="stylesheet" type="text/css" /></head>

由于需要动态修改Header的Controls集合,因此如果放在用户自定义控件的Page_Onload事件中因为已经太迟而到处出现异常。对于希望用通用的控件实现这一功能的场合,建议包装一个普通的类,然后在MasterPager或者Page的Page_OnLoad中调用一下即可。



#region PAGE HEAD

        //Page meta information

        public void BackHeadContent(HtmlControl htmlCtrl)
        {
            Content(htmlCtrl, "网站后台管理系统", "~/CssStyle/SiteStyles.css");
        }

        public void HeadContent(HtmlControl htmlCtrl, string strPageTitle)
        {
            Content(htmlCtrl, strPageTitle, "~/CssStyle/Styles.css");
        }
      
        private void Content(HtmlControl htmlCtrl, string strTitle,string cssFile)
        {
            //Title
            HtmlTitle title = new HtmlTitle();
            title.Text = strTitle;
            htmlCtrl.Controls.Add(title);

            //Link/CSSfile:
            HtmlLink cssLink = new HtmlLink();
            cssLink.Href = cssFile;
            cssLink.Attributes.Add("rel", "stylesheet");
            cssLink.Attributes.Add("type", "text/css");
            htmlCtrl.Controls.Add(cssLink);

            HtmlMeta
            author = new HtmlMeta(), // author
            copyright = new HtmlMeta(), // copyright
            date = new HtmlMeta(), // date
            keywords = new HtmlMeta(), // keywords
            description = new HtmlMeta(), // description
            robots = new HtmlMeta();// robots

            author.Name = "Author";
            author.Content = "Insus.NET";

            copyright.Name = "Copyright";
            copyright.Content = "Copyright 2008 Insus.NET";

            date.Name = "date";
            date.Content = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();

            keywords.Name = "keywords";
            keywords.Content = "Insus ";

            description.Name = "description";

            robots.Name = "robots";
            robots.Content = "all";


            string[] InsusWords = "VISUAL STUDIO 2003,VISUAL STUDIO 2005,Microsoft SQL Server 2005,ASP.NET,ASP.NET 2.0,VB.NET,C#,AJAX,LINQ"
              .Replace("//r", string.Empty)
              .Replace("//n", string.Empty)
              .Replace("&gt;br /&gt;", string.Empty)
              .Replace(",", string.Empty)
              .Replace("//'", string.Empty)
              .Split(' ');

            foreach (string word in InsusWords)
                keywords.Content += word + ",";
            if (keywords.Content.ToString().Length > 1024)
            {
                keywords.Content = keywords.Content.Substring(0, keywords.Content.IndexOf(" ", 1024));
            }

            description.Content = "This web site use asp.net2.0 and C# and Ajax technology";
            if (description.Content.ToString().Length > 1024)
            {
                description.Content = description.Content.Substring(0, description.Content.IndexOf(" ", 1024));
            }

            htmlCtrl.Controls.Add(author);
            htmlCtrl.Controls.Add(copyright);
            htmlCtrl.Controls.Add(date);
            htmlCtrl.Controls.Add(keywords);
            htmlCtrl.Controls.Add(description);
            htmlCtrl.Controls.Add(robots);
        }

        #endregion PAGE HEAD

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
python的数据处理可以使用numpy和pandas库来进行。其中,numpy提供了多维数组的创建和操作方法,而pandas则提供了更高级的数据结构和数据分析功能。 在numpy中,可以使用array方法创建一维、二维以及多维数组。每增加一维,则增加一层嵌套关系。例如,可以通过以下代码创建一维、二维和三维数组: ```python import numpy as np data1 = [1, 2, 3, 4, 5] array1 = np.array(data1) data2 = [[1, 2, 3], [4, 5, 6]] array2 = np.array(data2) data3 = [[[1, 2, 3], [4, 5, 6]]] array3 = np.array(data3) ``` 可以使用`ndim`属性查看数组的维度,使用`shape`属性查看数组的维度大小。例如,可以通过以下代码查看二维数组的维度和维度大小: ```python array2.ndim array2.shape ``` 在pandas中,可以使用`cut()`函数对数据进行分组处理并打上标签。被切分的数组必须是一维的。例如,可以使用以下代码将年龄数据平分成5个区间,并打上婴儿、青年、中年、壮年、老年的标签: ```python import numpy as np import pandas as pd ages = np.array([0, 5, 10, 40, 36, 12, 58, 62, 77, 89, 100, 18, 20, 25, 30, 32]) tages = pd.cut(ages, [0, 5, 20, 30, 50, 100], labels=["婴儿", "青年", "中年", "壮年", "老年"]) df1 = pd.DataFrame({'age': ages, 'tage': tages}) ``` 在数据处理中,经常需要进行数据抽样。可以使用numpy的`random.randint()`函数生成随机数。例如,可以使用以下代码生成3个0到10之间的随机整数: ```python import numpy as np np.random.randint(0, 10, 3) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值