ASP.NET用户控件中设置meta标签中的keywords和description

网上有许多相似的代码可以实现动态设置meta标签里的内容:

HtmlMeta keywords = new HtmlMeta(), // keywords

HtmlMeta 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);

不过,我个人觉得不太好用,因为这样做不适合用用户控件,下面说说我是如何做的。

首先,建一个ascx,html代码如下:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MetaList.ascx.cs" Inherits="GEMarketingWeb.Controls.MetaList" %>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="UTF-8" />
<meta name="robots" content="all" />
<meta id="mkeywords" runat="server" name="keywords" content="***keywords" />
<meta id="mdescription" runat="server" name="description" content="***description"/>

然后在后代CS文件里加入:

public void SetKeywords(string value)
{
this.mkeywords.Attributes["Content"] = value;
}

public void SetDescription(string value)
{
this.mdescription.Attributes["Content"] = value;
}

P.S:本以为mkeywords,mdescription做为HtmlControl应该能转换成HtmlMeta对象,尝试后发现是不行的。

这样,引用了这个用户控制的页面,都能通过使用这个控件对象来动态设置meta标签中的keywords和description了。

转载于:https://www.cnblogs.com/techmango/archive/2011/08/30/asp_net_Setting_meta_keywords_description.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值