2. ASP.NET MVCのコアアプリケーションにビューを追加

このセクションでは、変更HelloWorldControllerのさらなる使用してクラス、カミソリのパッケージファイルの表示がスムーズに生成され、クライアント側にHTMLレスポンスを処理します。

現在、インデックスメソッドは、コントローラクラスにハードコーディングされたメッセージ文字列を返します。HelloWorldControllerクラスで、次のコードでインデックスの方法:

 


公共IActionResultインデックス()
{
(ビューを返します)。
}

 

 


コードの上記の方法は、ビュー・コントローラを呼び出します。これは、HTMLレスポンスビューを生成するためのテンプレートを使用しています。制御処理(そのようなメソッド上記指標として、「操作方法」という。)
一般IActionResult(またはのActionResultクラスから派生)を返すが、文字列のない他の種類。

 

 

ビューの追加


「ビュー」フォルダを右クリックし、「追加」>「新規フォルダ」をクリックし、フォルダは名前が付けられ、「HelloWorldの。」
「ビュー/ HelloWorldの」フォルダを右クリックし、[>「追加」「新規項目」をクリックします。
ダイアログボックス- 「MvcMovie新しい項目の追加」では
、検索ボックスの右上隅に、「ビュー」
「レイザービュー」を選択
Index.cshtml:「名前」ボックスの値を維持します。
選択して「追加」

 

カミソリビューファイルの内容は、次の内容の閲覧/ HelloWorldの/ Index.cshtmlを置き換えます:


@ {
ViewDataを[ "タイトル"] = "インデックス"。
}

<H2>インデックス</ H2>

<P>こんにちは私たちのビューテンプレートから!</ P>

 

 

httpsに移動:// localhostを:XXXX / HelloWorldの 。IndexメソッドHelloWorldControllerの役割ではありません。それは、ビュー()を返す実行されます。
文で、この方法を指定するには、ビュー・テンプレート・ファイルをブラウザにレスポンスをレンダリングするために使用されるべきです。明示的にビュー・テンプレート・ファイルの名前なので、MVCのデフォルトを指定していないため、
Index.cshtmlビューファイル/ビュー/ HelloWorldのフォルダを。以下の画像は、「私たちのビューテンプレートからこんにちは!」ハードコードされた文字列の図を示します。


ページのビューとレイアウトを変更します


メニューのリンク(「MvcMovie」、「ホーム」と「プライバシー」)を選択します。同じメニューレイアウトあたり。メニューレイアウトは、ビュー/共有/ _Layout.cshtmlファイルに実装されています。
閲覧/共有/ _Layout.cshtmlファイルを開きます。
レイアウトテンプレートは、場所にサイトのHTMLコンテナのレイアウトを指定して、あなたのウェブサイトの複数のページに適用することができます。@RenderBody()の行を検索します。
RenderBodyはプレースホルダは、作成したレイアウトページにパッケージを示してすべてのページを表示する固有のものです。あなたは、「プライバシー」リンクを選択した場合たとえば、
、ビュー/ホーム/ Privacy.cshtmlビューがRenderBody方法を提示します。

レイアウトファイルのヘッダー、フッター、メニューのリンクに変更し
、ヘッダーとフッターの要素では、MvcMovieムービーアプリケーションを変更します。
アンカー要素


<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index"> MvcMovie </a>の
更改为<クラス= "ナビゲーションバーブランド" ASP-コントローラ= 「作品」ASP-アクション=「インデックス」>ムービーアプリの</a>で



タグの前に、未使用領域のため、このアプリケーションをASP-エリアアンカータグヘルパープロパティを省略しています。
説明:ムービーコントローラが実装されていません。この時点で、映画のAppリンクが動作しません。

 


完全HelloWorldController.csファイルは次のようになります。


Microsoft.AspNetCore.Mvcを使用しました。
System.Text.Encodings.Webを使用しました。

名前空間MvcMovie.Controllers
{
publicクラスのHelloWorldController:コントローラー
{
公共IActionResult指数()
{
(ビューを返します)。
}

公共IActionResultようこそ(文字列名、INT numTimes = 1)
{
ViewDataを[ "メッセージ"] = "こんにちは" +名。
ViewDataを[ "NumTimes"] = numTimes。

ビューを返します();
}
}
}

 

 

ビュー/ HelloWorldの/ Welcome.cshtmlようこそビューテンプレートと呼ばれるファイルを作成します。
次の内容の閲覧/ HelloWorldの/ Welcome.cshtmlの内容を置き換えます。

 

@ {
ViewDataを[ "タイトル"] = "ようこそ"。
}

<H2>ようこそ</ H2>

<UL>
@For(INT i = 0; iは(INT)ViewDataを[ "NumTimes" <; iは++)を
{
<LI> @ViewData [ "メッセージ" </ LI>
}
</ UL>

 

 

変更を保存して、以下のURLを参照します。


https://ではlocalhost:?XXXX / HelloWorldの/ようこそ名=リック&numtimes = 4

 

データはURLから取得した、とMVCモデルバインダーを使用してコントローラに渡されます。パックされたデータは、ViewDataを辞書をコントローラと、ビューにオブジェクトを渡します。
次に、ブラウザにHTMLとして提示されたデータを表示します。
上記の例では、ビュー、コントローラから送信されたViewDataを辞書データを使用します。

おすすめ

転載: www.cnblogs.com/ouyangkai/p/10937849.html