gpt4 book ai didi

c# - 使用 asp.net 设置标题标签

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:40:03 24 4
gpt4 key购买 nike

我正在尝试以编程方式设置一组元数据。

我的 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>

这是否会使标题标签无效。

最佳答案

1.Does anyone know another way of adding meta data to the page programmatically.

您可以通过简单地创建一个 Placeholder 来完成此操作然后在您的代码隐藏中构建您的个人元标记并将它们添加到其中:

<head runat="server">
<title>Your Example Page</title>
<!-- Add your Meta tags into this container -->
<asp:PlaceHolder ID="Meta" runat="server" />
</head>

然后在您的代码隐藏中,您可以将它们构建为 HtmlMeta控件并按预期简单地插入它们:

// Build each of your meta tags and add them
var tags = new List<HtmlMeta>() {
new HtmlMeta() { Name = "description",Content = "Your Description Here" },
new HtmlMeta() { Name = "keywords", Content = "a,b,c,d" },
new HtmlMeta() { Name = "robots", Content = "index,follow" }
};

// Add each of them to your placeholder
foreach(var tag in tags)
{
Meta.Controls.Add(tag);
}

这将在您的 <head> 中呈现如下部分:

<head>
<title>Your Example Page</title>
<meta name="description" content="Your Description Here">
<meta name="keywords" content="a,b,c,d">
<meta name="robots" content="index,follow">
</head>

您可以根据需要轻松调整它。

2.If I do it this way, and the meta data has id's ... Does this invalidate the title tag?

IIRC,我认为这不会对实际 <meta> 产生任何不利影响标签按预期工作,尽管 the spec doesn't specify it as a valid tag .不过,一般来说,您应该尽可能避免添加它们。

关于c# - 使用 asp.net 设置标题标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36406062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com