2009-05-05 54 views
2

我是.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中這被認爲是好嗎?這難道不是好或hackish的,或者你會說:「如果它的工作原理,工作的?


我嘗試添加RUNAT =」服務器」的頭標籤,使用Page.title但隨後一旦得到加了進來,這條線<meta name="description" content="<%= MetaDescription %>" />被解碼

<meta name="description" content="&lt;%= MetaDescription %>" /> 

和我上面的代碼則不起作用改變meta描述。

回答

4

如果標題被標記的Runat =「服務器」,那麼Page.Title的財產頁面會自動爲你改變標題

元標記的第二個我做同樣的事情,因爲它的工作原理。

+0

我想,在第一 - 加RUNAT =「服務器」元標記,但隨後一旦被加入,這行」/>被解碼。 – Dhana 2009-05-05 20:04:31

2

已經有此屬性:Page.Title

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); 
} 
0

你可以用這個例子:

page.title = "your title here" 

page.metadescription = "your description here"