【发布时间】:2016-07-24 04:42:04
【问题描述】:
我正在尝试以编程方式设置一组元数据。
我在我的 asp.net 母版页上有以下设置:
<asp:ContentPlaceHolder ID="MetaTags" runat="server">
<meta name="description" content="">
</asp:ContentPlaceHolder>
然后我将其放在单独的页面上:
<asp:Content runat="server" ContentPlaceHolderID="MetaTags">
<title runat="server" id="pageTitle"></title>
<meta runat="server" id="pageDescription" name="description"/>
<meta runat="server" id="pageKeywords" name="keywords" />
</asp:Content>
这在 C# 代码中:
pageTitle.InnerText = "TITLE";
pageDescription.InnerText = "DESC";
pageKeywords.InnerText = "KEY";
在页面上生成这个:
<title id="ctl00_MetaTags_pageTitle">TITLE</title>
<meta id="ctl00_MetaTags_pageDescription" name="description">DESC</meta>
<meta id="ctl00_MetaTags_pageKeywords" name="keywords">KEY</meta>
我这样做是因为我的理解是因为我在使用:
<asp:ContentPlaceHolder ID="MetaTags" runat="server">
我不能在单个页面上使用 <head> 标记 - 因为它会导致重复的标题标记?
我尝试使用:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="###" MasterPageFile="#####" Title = ""%>
在 C# 中 Page.Title = "Title"
但这并没有显示任何内容。
另外Master.Page.Title = "Title";
但这也不起作用。
所以,我的问题分两部分;
1.有没有人知道另一种以编程方式将元数据添加到页面的方法。
2.如果我这样做,并且元数据具有 id,例如:
<title id="ctl00_MetaTags_pageTitle">TITLE</title>
这是否会使标题标签无效。
【问题讨论】: