从内容页面c#动态添加元数据到master [英] adding metatag dynamically to master from content page c#

查看:60
本文介绍了从内容页面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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆