ASP.NET Web Pages - 页面布局
Web Pages を使用すると、一貫したレイアウトの Web サイトを作成するのは簡単です。
一致した外観
インターネット上には、一貫した外観とスタイルを持つ多くの Web サイトがあります。
- 各ページに同じヘッダーがある
- 各ページには同じフッターがある
- 各ページに同じスタイルとレイアウトがある
Web Pages を使用すると、これを非常に効率的に行うことができます。再利用するコンテンツブロック(ページのヘッダーやフッターなど)を単一のファイルに記述することができます。
レイアウト テンプレート(レイアウト ファイル)を使用して、サイトのすべての Web ページに一貫したレイアウトを定義することもできます。
Content Blocks(内容块)
多くのWebサイトでは、サイトの各ページに表示されるコンテンツ(ページのヘッダーやフッターなど)があります。
Web Pages では、次のものを使用できます。@RenderPage()異なるファイルからコンテンツをインポートする方法。
コンテンツ ブロック(別のファイルから)は、Web ページ内の任意の場所にインポートできます。コンテンツ ブロックには、通常の Web ページと同様に、テキスト、マークアップ、コードを含めることができます。
共通のヘッダーとフッターを別々のファイルとして作成すると、多くの作業を省くことができます。各ページで同じコンテンツを記述する必要はありません。コンテンツに変更がある場合は、ヘッダーまたはフッターのファイルを変更するだけで、サイトの各ページの該当コンテンツが更新されていることを確認できます。
以下に、コード内での表示方法を示します。
实例
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>
运行实例 »
Layout Page(布局页)
前のセクションでは、複数の Web ページに同じコンテンツを表示することが非常に簡単であることを確認しました。
一貫した外観を作成するもう 1 つの方法は、レイアウト ページを使用することです。レイアウト ページには、コンテンツではなく Web ページの構造が含まれます。Web ページ(コンテンツ ページ)がレイアウト ページにリンクされると、レイアウト ページ(テンプレート)の構造に従って表示されます。
レイアウトページで使用する@RenderBody()コンテンツ ページを埋め込む方法です。それ以外は、通常の Web ページと変わりません。
各コンテンツページは必ず〜で始める布局指令开始。
以下に、コード内での表示方法を示します。
布局页:
<body>
<p>This is header text</p>
@RenderBody()
<p>© 2012 サンプル. All rights reserved.</p>
</body>
</html>
任何网页:
<h1>Welcome to example.com</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laborisnisi ut aliquip ex ea commodo consequat.
</p>
运行实例 »
D.R.Y. - Don't Repeat Yourself(不要自我重复)
Content Blocks(コンテンツ ブロック)と Layout Pages(レイアウト ページ)という 2 つの ASP.NET ツールを使用すると、Web アプリケーションに一貫した外観を表示させることができます。
これらの 2 つのツールを使用すると、各ページで同じ情報を繰り返す必要がなくなり、多くの作業を省くことができます。マークアップ、スタイル、コードを集中管理することで、Web アプリケーションの管理と保守が容易になります。
ファイルが閲覧されるのを防ぐ
ASP.NET では、ファイル名をアンダースコアで始めると、これらのファイルがインターネット上で閲覧されるのを防ぐことができます。
コンテンツ ブロックまたはレイアウト ページをユーザーに見られたくない場合は、これらのファイルの名前を変更できます。
_header.cshtm
_footer.cshtml
_Layout.cshtml
機密情報を隠す
ASP.NET で、機密情報(データベースのパスワード、電子メールのパスワードなど)を非表示にする最も一般的な方法は、これらの情報を "_AppStart" という名前の別のファイルに保存することです。
_AppStart.cshtml
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "[email protected]";
WebMail.Password = "your-password";
WebMail.From = "[email protected]";
}
其他扩展