次の方法で共有


チュートリアル: ASP.NET MVC アプリを使用して EF Database First のビューをカスタマイズする

MVC、Entity Framework、ASP.NET スキャフォールディングを使用して、既存のデータベースへのインターフェイスを提供する Web アプリケーションを作成できます。 このチュートリアル シリーズでは、ユーザーがデータベース テーブルに存在するデータを表示、編集、作成、および削除できるようにするコードを自動的に生成する方法について説明します。 生成されたコードは、データベース テーブル内の列に対応します。

このチュートリアルでは、自動的に生成されたビューを変更してプレゼンテーションを拡張することに重点を置いています。

このチュートリアルでは、次の作業を行いました。

  • 学生の詳細ページにコースを追加する
  • コースがページに追加されていることを確認する

前提条件

学生の詳細にコースを追加する

生成されたコードは、アプリケーションに適した開始点を提供しますが、アプリケーションに必要なすべての機能が必ずしも提供されるとは限りません。 アプリケーションの特定の要件を満たすようにコードをカスタマイズできます。 現在、アプリケーションには、選択した学生の登録済みコースは表示されません。 このセクションでは、各学生の登録済みコースを学生の [詳細 ] ビューに追加します。

Views>Students>Details.cshtml を開きます。 最後<の /dl> タグの下で、/div> タグを閉じる<前に、次のコードを追加します。

<table class="table">
    <tr>
        <th>
            Course Title
        </th>
        <th>
            Grade
        </th>
        <th>
            Credits
        </th>
    </tr>

    @foreach (var item in Model.Enrollments)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Course.Title)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Grade)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Course.Credits)
            </td>
        </tr>
    }
</table>

このコードでは、選択した学生の登録テーブルの各レコードの行を表示するテーブルを作成します。 Display メソッドは、式を表すオブジェクト (modelItem) の HTML をレンダリングします。 (単にコードにプロパティ値を埋め込むのではなく) Display メソッドを使用して、その型とその型のテンプレートに基づいて値が正しく書式設定されていることを確認します。 この例では、各式はループ内の現在のレコードから 1 つのプロパティを返し、値はテキストとしてレンダリングされるプリミティブ型です。

コースが追加されたことを確認する

ソリューションを実行する [ 学生の一覧] をクリックし、いずれかの学生の [詳細 ] を選択します。 登録されたコースがビューに含まれていることがわかります。

登録を持つ学生

次の手順

このチュートリアルでは、次の作業を行いました。

  • 学生の詳細ページにコースを追加しました
  • コースがページに追加されていることを確認しました

次のチュートリアルに進み、データ注釈を追加して検証要件を指定し、書式設定を表示する方法について説明します。