我有几个内容页面挂在一个母版页上。我需要向其中一个内容页面添加一个刷新元标记,但我看不到在哪里可以做到这一点。
任何帮助将非常感激。
我有几个内容页面挂在一个母版页上。我需要向其中一个内容页面添加一个刷新元标记,但我看不到在哪里可以做到这一点。
任何帮助将非常感激。
还没有尝试过刷新,但通常你可以添加这样的元标记:
var keywords = new HtmlMeta { Name = "keywords", Content = "one,two,three" };
Header.Controls.Add(keywords);
更新:这种方式是可能的。检查 Rick Strahl http://www.west-wind.com/weblog/posts/2006/Aug/04/No-more-Meta-Refresh-Tags
This page explains the new feature: ASP.Net 4 adds 2 new Meta tag related properties to the Page. They can be used to set meta tags for keywords and description.
You can set them in the code behind:
Page.MetaKeywords = "keyword1, keyword2, keyword3";
Page.MetaDescription = "Example of new meta tag support in ASP.Net 4";
You can also set in the @Page directive:
<%@ Page Language="C#" AutoEventWireup="true"
MetaKeywords="keyword1, keyword2, keyword3"
MetaDescription="Example of new meta tag support in ASP.Net 4"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
The ouput of either of these methods renders html similar to the following:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
ASP.NET 4 Meta Tag Support
</title>
<meta name="description" content="Example of new meta tag support in ASP.Net 4" />
<meta name="keywords" content="keyword1, keyword2, keyword3" />
</head>
<body>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = "Title of page";
HtmlMeta tag = new HtmlMeta();
tag.Name = "description";
tag.Content = "description of page";
Header.Controls.Add(tag);
HtmlMeta tagKeyword = new HtmlMeta();
tagKeyword.Name = "keywords";
tagKeyword.Content = "keywords of page";
Header.Controls.Add(tagKeyword );
}
(来源网址)
您可以在 html 的 head 部分的母版页上添加内容占位符。然后,您可以在特定内容页面的此内容部分中添加内容,并将其输出到页眉。
在设计器页面中添加以下代码
<meta id="metaDescription" runat="server" name="Description" />
现在将以下代码添加到您的 .cs 页面
Page.MetaKeywords = "keyword1, keyword2, keyword3";
Page.MetaDescription = "Example of new meta tag";
我发现这样做的一种方法(我没有在这里看到)是有一个 Literal 并用你想要的任何类型的元标记填充它。就我而言,我需要在没有母版页的情况下使用它,让 Facebook 识别缩略图、标题和描述:
<head runat="server">
<asp:Literal runat="server" ID="litMeta" />
...
</head>
代码隐藏:
var img = "<meta property=\"og:image\" content=\"thumbnail.jpg\" />";
var title = "<meta property=\"og:title\" content=\"Title\" />";
var desc = "<meta property=\"og:description\" content=\"Description\" />";
litMeta.Text = img + title + desc;