2009-05-05 5 views
2

私は.NET初心者です。私の最初の仕事の1つは、動的に生成されたページのメタタグを動的に変更することです。これは.NETで適切ですか?

だから、私はこれを思いつきましたが、.NETでそれを行うための「適切な」方法とは考えられていません。

<head> 
<title><%= title %></title> 
<meta name="description" content="<%= MetaDescription %>" /> 
... 
</head> 

私も設定するために、任意の製品詳細ページでは、この関数を呼び出した

Protected Title As String = "" 

Public Sub ChangeTitle(ByVal title As String) 
    Title = title 
End Sub 

(以下に示していない)ページのinitになど、この機能は、私のマスターページの分離コードに住んでいると私は、デフォルトのタイトルを設定します適切な動的タイトル。

これはNETで問題ありませんか?それはで追加しまったら、その後、Page.titleを使用するために、headタグにサーバ」「私はラナ=を追加してみました、それが動作するかどうか、働く?


」これが良いかハックされていないか、またはあなたは言うでしょうこのライン<meta name="description" content="<%= MetaDescription %>" />

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

にデコード取得し、上記の私のコードは、メタ記述を変更する動作しません。

答えて

4

ヘッダーがにrunat =「サーバー」とマークされている場合の、その後Page.Titleプロパティページは自動的にあなたのタイトルの変更を行います

メタタグの2番目のタグは、同じことです。なぜなら、それは機能するからです。

+0

私が最初にすることを試みた - メタタグににrunat =「server」を追加しますが、その後、この行がデコードされます。 – Dhana

2

はすでにこのためのプロパティがあります:Page.Title

2

あなたがTitleプロパティを使用できるように、あなたは頭にメタタグを追加するには、このようなものを使用することができheadタグにrunat="server"を追加した後:

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" 
関連する問題