0

masterpage があり、masterpage.master.cs にメタタグを書きました。マスターページから生成されるカテゴリ ページでは、すべてのカテゴリに独自のメタタグがあります。ユーザーが category.aspx にアクセスしたときに、メタタグを変更したいと考えています。すべてのメタタグは動的に作成され、id または runat はありません。これは、for ループ (db からデータを読み取る) を使用して動的に作成するためです。

そのため、ページのタイトルとメタタグを変更できません。これどうやってするの?


ありがとうデビッド。しかし、ユーザーがメタタグを追加したい場合、ユーザーはどのようにそれを行うことができますか? 私のDB設計はそのようで、forループでタグを作成する必要があります。よくないですか? http://img843.imageshack.us/img843/6940/metadb.png

これらのタグを記述する他の方法はありますか?

@lvo、答えてくれてありがとう。しかし、this.Title が機能していません。書いたけど変わらない。また、ID の頭である ContentPlaceHolder にリテラルやラベルを入れませんでした。リテラルか何かを入れてメタタグを書くと、ページに2つの説明またはキーワードが表示されるためです。SEO的にはどれがいい?すべてのメタ タグを削除する他の方法はありますか?

4

3 に答える 3

2

タイトルを変更するには:

this.タイトル

メタタグを変更するには、マスターページのヘッドにプレースホルダーを配置します。

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

そのプレースホルダーにリテラルを配置して、このリテラル サーバー側の「テキスト」プロパティにデータベースのメタ値を入力することもできます。

于 2010-08-06T14:04:07.603 に答える
1

プログラムの設計を変更します。頭に浮かぶ最初の2つの選択肢は次のとおりです。

  1. DB からループで META タグを生成しない
  2. この 1 つのページに別のマスター ページを使用します。<-- 簡単にするためのより良い選択。

私はこれが軽薄な答えのように思えることを知っていますが、実際には、なぜあなた自身 (そしてあなたの後に来る貧弱な保守プログラマー) を必要以上に難しくするのでしょうか? 複雑にしないでおく。

于 2010-08-06T14:05:16.587 に答える
0

問題を解決します。masterpage.master.cs にメタタグを書きました。したがって、このマスターページによって生成される他のページはすべて、メインのマスターページからメタタグを取得します。タグを変更することはできません。変更できるかもしれませんが、コードが見つかりませんでした。メタタグを default.cs に書きましたが、他のページは現在正常です。返信ありがとうございます。

于 2010-08-06T21:46:18.900 に答える