1

メタ タグを動的に追加すると、1 行でレンダリングされます。

それらを別の行に分割するにはどうすればよいですか

ここに画像の説明を入力

次のコードを試しましたが、これはうまくいきません

Page.Title = ds.Tables[0].Rows[0]["Title"].ToString() + " by " + ds.Tables[0].Rows[0]["Author"].ToString();
Page.Controls.Add(new LiteralControl("\n"));
Page.MetaDescription = ds.Tables[0].Rows[0]["Desc"].ToString();
Page.Controls.Add(new LiteralControl("\n"));
Page.MetaKeywords = ds.Tables[0].Rows[0]["Keywords"].ToString();
Page.Controls.Add(new LiteralControl("\n"));

Web サイトに asp.net Web フォームを使用しています。この点で助けていただければ幸いです。

4

3 に答える 3

3

MetaDescription はすべて特定の場所に存在する準備ができており、新しい行を「どこかに」追加しますが、直後ではないため、新しい行を追加しようとする方法は機能しません。

次のように、ヘッダーのすべてのコントロールを次々に追加してみてください。

HtmlMeta metaDes = new HtmlMeta();
metaDes.Name = "description";
metaDes.Content = ds.Tables[0].Rows[0]["Desc"].ToString();

// add the description on the hader.
Page.Header.Controls.Add(metaDes);
// right after add the new line
Page.Header.Controls.Add(new LiteralControl("\n"));

または、ヘッダーにリテラルを単純に追加して、一連の html コードである最終出力をレンダリングすることもできます。

于 2013-04-30T13:30:31.283 に答える
1

投稿するのが遅すぎます。しかし、将来の読者には役立つかもしれません。

keywords&descriptionメタを新しい行に表示するには、次を試してください。

protected void AddMetaTag()
{
    HtmlMeta description = new HtmlMeta();
    description.Name = "description";
    description.Content ="some desc";

    HtmlMeta keywords = new HtmlMeta();
    keywords.HttpEquiv = "keywords";
    keywords.Name ="site keywords";

    this.Page.Header.Controls.Add(new LiteralControl("\r\n"));
    this.Page.Header.Controls.Add(keywords);
    this.Page.Header.Controls.Add(new LiteralControl("\r\n"));
    this.Page.Header.Controls.Add(description);
    this.Page.Header.Controls.Add(new LiteralControl("\r\n"));
}

出力:

<meta name="keywords" content="site keywords" />
<meta name="description" content="some desc />

お役に立てれば!

于 2014-11-28T13:04:42.630 に答える