2012-05-02 18 views
-1
protected override void OnLoad(EventArgs e) { 
    base.OnLoad(e); 
    Literal lTags = new Literal(); 
    lTags.Text = "<meta name=\"MetaTagsDemo\" content=\"Meta demo tag\" />"; 
    this.Header.Controls.Add(lTags); 
} 

私は上記のコードをdefault.aspx.csに持​​っています。 Default.aspxページが読み込まれると、コントロールがセクション内に追加されているように見えますが、ページの一番上(ページの最初の行)にhtml表示があります。Metatagがhtml ouptout(aspxページ)として表示されます

私はここで間違っていますか?

Browse.aspxという別のページがありますが、ここでは同じ機能がありますが、このページにはHTML出力が表示されません。メタタグのための

UPDATE

ソースがデータベース全体メタタグを1つのフィールドに

+0

が重複する可能性をテストする必要があり、迅速かつ汚い方法であり、 ://stackoverflow.com/questions/1432431/adding-meta-tag-programatically-in-c-sharp) –

答えて

1

に格納されているあなたは、HTMLコントロールとしてメタタグを追加する必要があり、このような何か:

HtmlMeta tag = new HtmlMeta(); 
tag.Name = "MetaTagsDemo"; 
tag.Content = "Meta demo tag"; 
Page.Header.Controls.Add(tag); 

更新:

はい、あなたはHtmlAgilityPackでデータベース入力を解析する必要があります。これは簡単な作業です。fo R例:

HtmlDocument doc = new HtmlDocument(); 
    doc.LoadHtml("<meta name=\"MetaTagsDemo\" content=\"Meta demo tag\" />"); 
    foreach (HtmlNode meta in doc.DocumentNode.SelectNodes("//meta")) 
    { 
    string metaName = meta.Attributes["Name"].Value; 
    string content = meta.Attributes["Content"].Value; 
    /// do something 
    } 

UPDATE 2

ませんHtmlAgilityPackは、ここでは、HTTP(あなたはそれを[C#でプログラムによるメタタグを追加する]の

string meta = "<meta name=\"MetaTagsDemo\" content=\"Meta demo tag\" />"; 
    string[] splitted = meta.Split('"'); 
    string metaName = splitted[1]; 
    string metaContent = splitted[3]; 
+0

私は実際にデータベースから値を読み取り、その値には「名前」と「内容」の両方が含まれています。文字列を解析して値を割り当てる必要がありますか?その他のオプションや提案はありますか? – Anirudh

+0

htmlagilitypackをダウンロードまたは使用することはできません。私はsystem.windows.forms名前空間で試してみましたが、コンストラクターのエラーがあります(私のものはasp.netのウェブサイトです)。他のオプションを提案してください。ありがとう。 – Anirudh

+0

なぜwindowsが形成されるのかとにかく私の答えが更新されました –

関連する問題