【问题标题】:how to have different description meta tags for each site with master.html如何使用 master.html 为每个站点设置不同的描述元标记
【发布时间】:2016-03-03 10:43:46
【问题描述】:

我正在遵循关于

的建议

http://haacked.com/archive/2009/04/03/tipjar-title-tags-and-master-pages.aspx/

为我网站上的每个页面获取不同的标题标签。我用

<head runat="server">
    <title>
        <asp:ContentPlaceHolder ID="titleContent" runat="server" />
    </title>

...

在我的 master.html 和

{% extends "master.html" %}

<asp:Content ContentPlaceHolderID="titleContent" runat="server">
My site
</asp:Content>

我所有的页面。我的问题是如何为每个页面设置不同的描述标签?

【问题讨论】:

  • 做同样的事情?
  • 这是一个ASP问题,所以请添加ASP标签。
  • @SLaks,你能举个例子吗?标题标签和元标签的工作方式不同,所以我不清楚该怎么做......
  • @carl:只需将整个标签放在占位符中即可。

标签: html asp.net


【解决方案1】:

您的 MasterPage 中应该有一个 &lt;title&gt;&lt;/title&gt; 标记,如下所示:

<title> <%: Page.Title %> </title>

然后,您应该拥有像这样的 Default.ASPX 页面:

<%@ Page Title="Add Your Title Right Here, Please" Language="C#" MasterPageFile="YOUR_MASTER_PAGE.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

这个例子考虑到了教程讲的是 ASP.NET MVC 的事实。

我想说您应该为此使用 Visual Studio (2015),以防万一您不使用它。

您可以下载 VS 2015 here。社区版是免费的。

【讨论】:

  • 请有人关闭这篇文章。标记为“正确”的答案甚至不是“正确”。这样,您将元标记添加到正文标记出了什么问题。 stackoverflow.com/questions/6198726/…这就是答案!帖子重复了!!!
  • 我的回答怎么错了?它完全符合要求,并且提出问题的用户接受了答案。您的答案似乎是错误的,因为它与元标记没有任何关系。您在评论中链接到的帖子是解决此问题的另一种方式,但肯定不是唯一的方式。
  • 我只考虑了他的sn-p,它只指。只要我的答案不完整,你的答案也应该被标记,因为你没有解释需要向文件添加新的 contentPLaceholder ASP 标签。您提出答案的方式只是让人们认为您可以将 标记添加到 HTML 文档的正文中。
  • 好的,@mason!对不起!!!我只是生气,因为有人在没有解释原因的情况下否决了我的回答。这只是没有生产力。我不能从中吸取教训。我不能从有人说“它拧紧了!”中学习。不说为什么。 Stack Overflow 应该是一个构建知识的社区,而不仅仅是赠送徽章或积分。
  • 我没有还原您的版本。我刚刚更正了我拼错的“应该”这个词。另外,看看我的名声,伙计!当然我需要一些解释,你不觉得吗?
【解决方案2】:

正如 SLaks 在 cmets 中所说,您基本上只需对元标记做同样的事情。

母版页:

<asp:ContentPlaceHolder ID="metaContent" runat="server" />

内容页面:

<asp:Content ContentPlaceHolderID="metaContent" runat="server">
    <meta name="description" content="This page is about product X">
    <meta name="keywords" content="x,product,fancy,nice,highquality">
</asp:Content>

【讨论】:

  • 这种方式是如何为页面静态制作不同的元标记。如果您还想展示它的动态效果会更好。
  • HtmlMeta hm = new HtmlMeta(); hm.Name = "描述"; hm.Content = "这里是页面描述"; this.Header.Controls.Add(hm);像这样
猜你喜欢
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多