ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description!

asp.net为网页动态添加description描述信息的方法 本文实例讲述了asp.net为网页动态添加description描述信息的方法。分享给大家供大家参考。具体分析如下: 这段代码可以修改网页的head区的description meta HtmlMeta desc = new HtmlMeta(); desc.Name = Description; desc.Content = 描述; Page.Header.Controls.Add(desc); 希望本文所述对大家的asp.net程序设计有所帮助。 您可能感兴趣的文章:asp.net为网页动态添加关键词的方法asp.net动态添加js 立即下载
// 设置关键字和页面描述
    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
COMSOL仿真避坑指南:列管反应器模拟中多孔介质与化学反应设置的5个常见错误 本文详细解析了COMSOL仿真中列管反应器模拟的5个常见错误,包括多孔介质模型选择、化学反应接口配置、对流扩散方程处理、薄层热阻设置及网格独立性验证。特别针对多孔介质与化学反应设置的误区,提供了实用的判断标准和修正方法,帮助工程师避免计算偏差,提升仿真精度。 阅读详情

相关推荐

命令行删除描述文件_写一个删除lock文件的skill脚本

来源:IC技能搬运工 作者:小目Cadence软件使用过程中偶尔会遇到文件被lock的情况,这是Cadence软件对文件的一种保护措施,大部分情况都是对用户友好的,但是偶尔也会给用户带来困扰,给工作带来的一定的不便。文件是如何被锁的Cadence在用户打开文件进行编辑的时候会在文件的同一级目录新建一个lock文件,用来标识文件的状态。一般情况下如果文件被正常关闭,这个lock文件会在...

weixin_39781452的博客 1353

网页header 的 meta使用

属性 值 描述 content some text 定义与http-equiv或name属性相关的元信息   可选属性 属性 值 描述 http-equiv content-type / expire / refresh / set-cookie 把content属性关联到HTTP头部。 name author / description / keywords / generator / re...

ejinxian的专栏 601

Fluent后台计算中Journal文件的自动化编写与优化实践

本文深入探讨了Fluent在Linux/Unix环境下进行后台计算时,Journal文件的自动化编写与优化实践。Journal文件作为Fluent后台计算的“灵魂”,是实现仿真流程自动化、保证计算可重复性与准确性的关键。文章从基础脚本骨架搭建、命令简写技巧,到进阶的参数化研究与批量计算实现,提供了详实的实战指南,帮助工程师大幅提升仿真效率。

postgres8guard的博客 757

((Stub) proxy).setHeader 在asp.net 环境下的实现过程

((Stub) proxy).setHeader 在asp.net 环境下的实现过程

wjxheng的博客 914

WGCNA分析中那些没人告诉你的坑:以肺结核差异基因模块筛选为例

本文深入探讨WGCNA分析在肺结核差异基因模块筛选中的七个关键陷阱,包括soft-thresholding选取、样本离群值检测、模块合并阈值调整等。通过实际案例和R代码示例,揭示生信数据挖掘中常被忽视的技术细节,帮助研究者避免常见错误,提升分析结果的可靠性和生物学意义。

weixin_29218509的博客 261

Windows 10/11 下用 Docker 一键部署 CVAT 标注工具(附 WSL2 配置指南)

本文详细指导如何在Windows 10/11系统上,通过配置WSL2和Docker Desktop,实现CVAT标注工具的一键部署。内容涵盖从环境准备、Docker安装、CVAT服务启动到性能优化与安全配置的全流程,为计算机视觉开发者提供稳定高效的本地标注平台解决方案。

weixin_28839601的博客 464

Asp.net 2.0 自定义控件开发[创建自定义HeaderRow的GridView控件][示例代码下载]

 (一).  概述        1. 做了个GridViewExtend自定义控件, 通过注册扩展自定义表头事件,  可以任意设置Header的格式.        2. 易重用代码, 只要将ExtendGridView.dll 文件添加到项目引用即可.  实现原理:增加一个自定义事件,并将GridView头(HeaderRow)引用作为事件参数传递,使用时通过注册此事件来自定义

★(ChengKing)【夜战鹰】【产品级性能调优与故障诊断分析】★ 6533

【深度学习新浪潮】Score Matching(分数匹配):原理、推导与PyTorch实战

在概率模型训练中,配分函数(归一化常数)是绕不开的难题——尤其是能量模型(EBM)、扩散模型等未归一化模型,直接计算配分函数几乎不可能。Score Matching(分数匹配)作为一种无归一化的参数估计方法,通过拟合概率密度的对数梯度(分数函数),彻底避开了配分函数的计算,成为生成建模、密度估计的核心技术之一。本文将从基础概念出发,逐步推导Score Matching的核心公式,并结合PyTorch实现一个可直接运行的实战案例,帮你彻底理解这一关键技术。Score Matching的核心是。

专注:太空算力、AI infra、异构调度、大模型成本工程 251

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

Asp.net 2.0 关于Header/title/Meta tages/Style操作的一点小技巧 收集一些偶然看到的小Tips,先列一些在这儿,慢慢补充。设置Title :this.Header.Title="这是个Title测试";如果用了MasterPage可以这样用:this.Page.Title = SiteMap.CurrentNode.Title; 动态设置S

1098

021、反激变换器的软启动设计

本文分享了反激变换器软启动设计的实践经验。作者通过一次上电炸机事故引出软启动的重要性,分析了启动瞬间电流冲击和环路饱和问题。介绍了三种软启动方案:效果差的RC电路、推荐使用的数字芯片方案以及分立元件实现方法,重点指出数字方案的一致性优势。文章还探讨了软启动与过流保护的配合问题,提供了实测波形、温度影响等调试要点,并总结出软启动时间选择、批量生产一致性等实用建议。最后强调软启动是电源可靠性的关键设计,不应为节省成本而忽略。全文包含多个工程实践细节,对电源设计人员具有重要参考价值。(149字)

Jack010169的博客 178

可控异常的契约化设计:在 ABAP 中用 CX_STATIC_CHECK 把可预期错误变成接口的一部分

文章摘要: 本文探讨了ABAP系统中异常处理的工程化设计原则,强调将可预期的业务异常作为接口契约的一部分。核心观点是:对于调用方能够合理处理的错误情况,应使用继承自CX_STATIC_CHECK的受检异常,通过方法签名强制调用方处理或显式转发。文章对比了ABAP三大异常根类的适用场景,提出"三问法"判断异常是否适合受检处理,并给出了包含上下文信息的异常类实现示例。通过Fiori文件上传案例,展示了如何在分层架构中合理传递和转换异常,最终在OData服务层将业务异常映射为标准错误响应。这种

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3071

(转)ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description!

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

weixin_30737363的博客 97

反光柱定位算法中的移动机器人姿态计算原理-经典三边定位最小二乘法计算定位-直接法计算定位

(二)计算姿态方式是我们已经通过最小二乘得到了小车在地图中的位置或者是雷达在地图中的位置,又因为我们知道雷达与小车的安装坐标,所以可以求解出一其中一个坐标的知量,通过小车在地图中坐标与雷达在地图中坐标可以得到一条向量,通过计算向量在地图中的角度就能得到姿态了。与最小二乘三边测量法相比,新算法在动态调整、优化过程和鲁棒性方面优势明显,尤其适合动态环境下的机器人定位,而最小二乘三边测量法在动态复杂环境中精度相对较低。(一)与(二)的区别主要是在计算姿态上的算法不同。经典三边定位最小二乘法 (法一)

苏凯的博客 1141

用asp.net为网页添加Meta标签

Meta标签无疑对网站宣传是有很大作用的,搜索引擎通过Meta标签得到网页的相关信息,如Keywords,Description等等内容。如果用Asp.Net来进行动态生成页,特别是使用模板页,似乎无法为每个网页加入Meta信息,其实不然,完全可以用编程的方式为自己的aspx页加入Meta信息。    protected void Page_Load(object sender, Even

半亩方塘 1985

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

动态修改aspx页面的meta标签中的 keywords 和description

public void SetSEO() { ArrayList lists = new ArrayList(); for (int i = 0; i < this.Page.Header.Controls.Count; i++) { if (this.Page.Header.Controls[i].GetT

Cngine 2329

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

添加META参数

添加META参数  #region 添加META参数 /// /// 添加META参数 /// /// 名称,例如:Keywords、Description 、Author /// protected void AddMeta(string name, strin

e8love的专栏 866

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

asp.net动态设置页面的title,meta标签

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

HiNet 622

asp.net 动态设置标题title、meta(keywords、description)

<br /><br />if (!IsPostBack)<br />{<br />            //Page title网页标题<br />            Page.Title = “我的网站标题”;//须将网页head标签设成服务器控件模式,即<head runat="server">,否则无效<br />            //Description网页描述<br />            HtmlMeta desc = new HtmlMeta();<br />        

huanghan1988的专栏 1342

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

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

weixin_30652879的博客 191

php get_headers 与get_meta_tags函数实例

php get_headers 与get_meta_tags函数实例

php|nginx|python|vue|redis|linux 1882

.net 设置headers

 1. Response.Headers.Add("ACCESS-TOKEN", MyUtils.generateToken(UserName, UserId.ToString(), _Configuration));  2. public async Task&lt;HttpResponseMessage&gt; GetUserUnreadMessageCount(int user...

bluck Huang 1112
上一篇: webdiyer分页样式
下一篇: 实现跨域cookie共享
txqqnet
博客等级 码龄14年 17粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值