ASP.NET Web Pages - オブジェクト

Web Pagesは通常オブジェクトに関連しています。

Page オブジェクト

使用したPageオブジェクトのいくつかは既に見たことがあります:

@RenderPage("header.cshtml")
@RenderBody()

前章では、使用したPageオブジェクトの属性(isPostとRequest)の2つについて見ました:

If (isPost) {
if (Request["Choice"] != null {

Page オブジェクトの一部のメソッド

メソッド 説明
href 指定されたパラメータを使用してURLを構築します。
RenderBody() レイアウトページで、指定された部分に含まれない内容ページの部分を表示します。
RenderPage(page) 他のページ内で特定のページの内容を表示します。
RenderSection(section) レイアウトページで、指定された部分の内容が表示されます。
Write(object) 指定されたオブジェクトをHTMLエンコードされた文字列として書き込む。
WriteLiteral 指定されたオブジェクトに対してHTMLエンコードを行う必要はありません。そのまま書き込むことができます。

Page オブジェクトの一部の属性

属性 説明
isPost クライアントがウェブページをリクエストする HTTP データ転送方法が POST リクエストであるかどうかを示す値(true または false)を返します。
Layout レイアウトページのパスを取得または設定します。
Page ページ、レイアウトページ、およびページング間で共有されるページデータにアクセスする似たような属性を提供します。
Request 現在の HTTP リクエストの HttpRequest オブジェクトを取得します。
Server HttpServerUtility オブジェクトを取得し、そのオブジェクトが提供するメソッドは、ウェブページ処理中に使用できます。

Page 属性(Page オブジェクトの)

Page オブジェクトの Page 属性は、ページ、レイアウトページ、およびページング間で共有されるページデータにアクセスする似たような属性を提供します。

あなたは Page 属性に(使用して)自分の属性を追加できます:

  • Page.Title
  • Page.Version
  • Page.anythingyoulike

Page 属性は非常に便利です。例えば、コンテンツファイルでページタイトルを設定し、レイアウトファイルでそれを使用することができます:

Home.cshtml

@{
Layout="~/Shared/Layout.cshtml";
Page.Title="ホームページ"
}
<h1>CodeW3C.comへようこそ</h1> 
<h2>ウェブサイトの主成分</h2>
<p>ホームページ (Default.cshtml)</p>
<p>レイアウトファイル (Layout.cshtml)</p>
<p>スタイルシート (Site.css)</p>

Layout.cshtml

<!DOCTYPE html>
<html>
<head>
<title>@Page.Title</title>
</head>
<body>
@RenderBody()
</body>
</html