2014-01-13 28 views
14

ASP.NET MVCでモデルに接続されているビューを更新できるかどうかは疑問です。モデルが変更されたときのビューの更新

私はまずソリューションの.edmxオブジェクトモデルを作成するEntity Frameworkデータベースを使用しています。

私が作成したモデルに基づいて、新しい足場モデル作成されました:

  • をCreate.cshtml
  • Delete.cshtml
  • Details.cshtml
  • Edit.cshtml
  • インデックス.cshtml

モデルにプロパティを追加するとUIで更新されたモデルを表すために、これらのビューを新しいプロパティで自動的に更新しますか?

+0

行の代わりにプロパティを追加することを意味します。 – CodeCaster

+1

ええ、すみません。私はManagement Studioのモデルで多くの作業をしています。そのため、db用語を使用しています。どちらが間違いです。 –

答えて

13

としてはChanging the Database : The Official Microsoft ASP.NET Siteで説明:

次の2つのオプションを持っているビューを更新するには - あなたはどちらかもう一度Studentクラスのための足場を追加することでビューを再生成する、または手動で新しいを追加することができますすることができます既存のビューにプロパティを追加します。このチュートリアルでは、自動生成されたビューをカスタマイズして変更していないため、スキャフォールディングを再度追加します。ビューを変更したときにプロパティを手動で追加することを検討し、その変更を失いたくない場合があります。

ビューが再作成されていることを確認するには、まず[ビュー]の[スチューデント]フォルダを削除します。次に、Controllersフォルダを右クリックして、Studentモデルの足場を追加します。再度、コントローラのStudentControllerに名前を付けます。 [追加]をクリックすると、StudentControllerという名前の既存のファイルを置き換えるかどうかを尋ねられます。 [OK]を選択します。

ビューに[added] MiddleNameプロパティが追加されました。

メモこれは明らかにコントローラを上書きします。バックアップがあり、ソースコントロールを使用してください。

+0

Thanks CodeCaster。私は既に作成されている要素を変更するだけの解決策があることを期待していました。主に5つのファイルを個別に追加する必要があるため、私は多くの要素をカスタマイズしています。 –

+1

@gerdi私は理解しますが、私が知る限り、これを行う方法はありません。私は足場が非常に有用であるとは思わなかった。 [DisplayTemplates and EditorTemplates](http://stackoverflow.com/questions/5497183/how-to-create-custom-editor-display-templates-in-asp-net-mvc-3)で作業する場合は、モデルプロパティは5つではなく2つの場所でのみ呼び出されます。 – CodeCaster

関連する問題