从内容页面c#动态添加元数据到master [英] adding metatag dynamically to master from content page c#
本文介绍了从内容页面c#动态添加元数据到master的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好每一个,
我正在尝试将metatag添加到内容页面的主页面标题中。我的代码是这样的。
hello every one,
i am trying to add metatag to master page header from content page. My code goes like this.
string sn = ds.Tables[0].Rows[0]["MetaTitle"].ToString();
Literal lmeta = new Literal();
lmeta.Mode = LiteralMode.PassThrough;
lmeta.Text = string.Format("<meta name=\"Title\" content=\"{0}\"/>", sn);
this.Page.Header.Controls.Add(lmeta);
this.Page.Title = sn;
正好在这一行
this.Page.Header.Controls.Add(lmeta);
i我收到以下错误。
exactly at this line
this.Page.Header.Controls.Add(lmeta);
i am getting the following error.
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
i用谷歌搜索它但没有解决它。
我的主页面标题如下所示。
i googled it but didn't solution for it.
My master page header goes like below.
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="mMaster.master.cs" Inherits="m_mMaster" %>
<!DOCTYPE html>
<html lang="en">
<head id="Header" runat="server">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.1.0/css/font-awesome.min.css"
rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"
即使我把元标记绑定代码放在母版页中我也会得到同样的错误。请帮帮我。
even though if i put meta tag binding code in master page i am getting the same error. Please help me.
推荐答案
有几种方法可以做到这一点。试试这个
protected void Page_Load(object sender,EventArgs e)
{
//添加页面标题
//this.Page.Title =DYNAMIC PAGE TITLE HERE;
//添加关键词元标记
HtmlMeta keywords = new HtmlMeta();
keywords.HttpEquiv =keywords;
keywords.Name =keywords;
keywords.Content =输入您的格式化内容;
this.Page.Header.Controls.Add(keywords);
//添加说明元标记
HtmlMeta description = new HtmlMeta();
description.HttpEquiv =description;
description.Name =description;
description.Content =输入您的格式化内容;
this.Page.Header.Controls.Add(description);
}
如果适用于您,请记住接受解决方案
Hi, there are several ways to do this. Try this one
protected void Page_Load(object sender, EventArgs e)
{
//Add Page Title
//this.Page.Title = "DYNAMIC PAGE TITLE HERE";
//Add Keywords Meta Tag
HtmlMeta keywords = new HtmlMeta();
keywords.HttpEquiv = "keywords";
keywords.Name = "keywords";
keywords.Content = "ENTER YOUR FORMATED CONTENT";
this.Page.Header.Controls.Add(keywords);
//Add Description Meta Tag
HtmlMeta description = new HtmlMeta();
description.HttpEquiv = "description";
description.Name = "description";
description.Content = "ENTER YOUR FORMATED CONTENT";
this.Page.Header.Controls.Add(description);
}
Remember to ACCEPT solution if it works for you
请看链接并尝试:
http://stackoverflow.com/questions/1432431/adding-meta-tag-programatically-in-c-sharp [ ^ ]
Please see the link and try it:
http://stackoverflow.com/questions/1432431/adding-meta-tag-programatically-in-c-sharp[^]
这篇关于从内容页面c#动态添加元数据到master的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文