7

マスター ページがあり、すべてのページがそれを継承しています。書式設定については、ページごとに異なるコンテンツを ContentPlaceHolder に配置することを考えました。

さて、どうすればすべてをそれに挿入できますか?ContentPlaceHolder にデータベースからのものを入力することを計画しているので、プログラムで行う必要があると思います。

  1. コントロールを ContentPlace ホルダーに追加するにはどうすればよいですか? 他の回答を確認しましたが、IDでアクセスできません。

  2. 最初から複数の ContentPlaceHolder を使用する必要がありますか? 映画を入れたいとしましょう。すべての画像、説明、および評価を 1 つだけ持つべきですか、それともそれぞれに対して 1 つの ContentPlaceHolder を持つべきですか?

私は ASP の経験がないので、他のソリューションにもオープンです。

4

4 に答える 4

2

通常起こることは、

  1. ContentPlaceHolder適切な html とsを使用してマスター ページを設定します。
  2. そのマスター ページに基づいてページを作成します。Visual Studio を使用し、既存のマスター ページに基づいて新しいページを作成するように指示すると、Content領域が追加されます。
  3. 新しく作成されたページのコンテンツ領域に物を追加します。

マスター (または任意の) ページにコントロールを動的に追加する場合は、既存のコントロールにコントロールを追加できます。何らかの方法でラップしない場合は、追加するだけPlaceholderです (これは asp.net コントロールです)。

于 2012-05-07T23:30:03.777 に答える
1

私はこれが好きでした

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<asp:Literal ID="jsstuff" runat="server"></asp:Literal>
</asp:Content>

そして、これはコードビハインドに入りました:

string stuff =  @"<script type=""text/javascript"">
                                        var searchBox = 0;
                                         var currentCountry = '';
                                         </script>";
                    jsstuff.Text = stuff;
于 2012-07-06T02:20:06.137 に答える
0

コンテンツ ページとマスター ページの名前空間が同じでない場合、コンテンツ ページの分離コードでコンテンツ ページ コントロールにアクセスできません。

また、デザイナー ファイルを確認してください。コントロールがデザイナー ファイルにリストされていない場合は、ファイルを削除して再作成します (プロジェクト -> Web アプリケーションに変換)。

于 2016-12-17T04:29:59.177 に答える