在.NET中这是正确的吗?

时间:2009-05-05 19:58:37

标签: vb.net

我是.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="&lt;%= MetaDescription %>" />

然后我上面的代码无法更改元描述。

4 个答案:

答案 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"