2010-08-06 43 views
0

我有一個母版頁,並且我在masterpage.master.cs中寫了元標記。 在從主頁面生成的類別頁面中,每個類別都有其自己的元標記。 當用戶訪問category.aspx時,我想更改元標記。 所有元標記都是動態創建的,它們沒有id或runat,因爲我使用for循環動態創建它們(從db讀取數據)。刪除或更改母版頁中的元標記

所以我不能改變頁面和元標籤的標題。我怎樣才能做到這一點?


謝謝大衛。但是,如果用戶想添加meta標籤,用戶可以怎麼做? 我的數據庫設計就像這樣,我必須用for循環創建標籤。它不好嗎? http://img843.imageshack.us/img843/6940/metadb.png

是否有任何其他方式來寫這些標籤?

@lvo,謝謝你的回答。但是,這個標題不起作用。我寫了它,但沒有改變。 另外我沒有在ContentPlaceHolder中放入任何文字或標籤,這些ID的頭部。因爲如果我把文字或其他東西寫入meta標籤,那麼頁面中會有2個描述或關鍵字。哪一個是好的SEO? 有沒有其他方法可以刪除所有元標記?

回答

2

要更改標題使用:

this.Title

要更改元標記,把一個佔位符在母版的頭。

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

您也可以將文字在佔位符,然後從數據庫中

+0

+1這正是他的問題,他需要子頁面來控制主頁中的元標記。優秀的答案。 – Achilles 2010-08-06 14:06:47

+0

+1。我同意Achilles,如果你不願意使用不同的主頁,這是一條路。 – David 2010-08-06 14:08:29

1

更改你的程序設計填補元值這個文字服務器端的「文本」屬性。浮現在腦海中的前兩個選擇是:

  1. 不要從DB
  2. 使用產生在一個循環中的META標籤爲這一個頁面一個不同的母版頁。 < - 爲簡單起見,更好的選擇。

我知道這似乎是一個輕率的答案,但說真的,爲什麼對自己(和維護程序員差後你誰還會來一起)比他們必須使事情更難?把事情簡單化。

+0

+1我當時還是有時還是一位可憐的維修程序員......我在睡覺前哭泣...... – Achilles 2010-08-06 14:07:51

+0

我敢打賭,你和我的維護編程一樣多的恐怖故事。 :) – David 2010-08-06 14:09:32

0

我修復了我的問題。我在masterpage.master.cs中敲了元標記。所以這個masterpage生成的其他頁面,他們都會從主masterpage獲取元標記。我們已經無法更改標籤。也許我們可以改變,但我找不到任何代碼。 我在default.cs中編寫了我的元標記,而其他頁面現在正常。 感謝您的回覆。