我是.NET的初学者。我的第一个任务之一就是为动态生成的页面动态更改元标记。
所以,我想出了这个,但我不太确定在.NET中做什么被认为是“正确”的方式。
<head>
<title><%= title %></title>
<meta name="description" content="<%= MetaDescription %>" />
...
</head>
此功能存在于我的母版页代码隐藏中,我在页面init上设置了默认标题等(未在下面显示)
Protected Title As String = ""
Public Sub ChangeTitle(ByVal title As String)
Title = title
End Sub
我还在任何产品详细信息页面中调用此函数来设置相应的动态标题。
这在NET中被认为是可以的吗?这不好还是黑客还是你会说“如果它有效,有效吗?”
我尝试将headat =“server”添加到head标签中,以使用Page.title但是一旦添加,该行<meta name="description" content="<%= MetaDescription %>" />
将被解码为
<meta name="description" content="<%= MetaDescription %>" />
然后我上面的代码无法更改元描述。
答案 0 :(得分:4)
如果标题标记为Runat =“Server”,则页面的Page.Title属性将自动为您更改标题。
元标记的第二个我做同样的事情,因为它有效。
答案 1 :(得分:2)
已有一个属性:Page.Title
答案 2 :(得分:2)
将runat="server"
添加到head标记以便您可以使用Title
属性后,您可以使用类似的内容将元标记添加到头部:
public static void AddMeta(string name, string content) {
Page page = (Page)HttpContext.Current.Handler;
HtmlMeta meta = new HtmlMeta();
meta.Name = name;
meta.Content = content;
page.Header.Controls.Add(meta);
}
答案 3 :(得分:0)
您可以使用此示例:
page.title = "your title here"
page.metadescription = "your description here"