7

ASP.NET MVC 4.0 アプリケーションで Entity Framework を使用していますが、強く型付けされたビューでエンティティのフィールドが生成されないようにする方法または非表示にする方法を知りたいですか? 現在、いくつかの主キー フィールドとタイムスタンプ フィールドがビューで生成されていますが、これは望ましくありません。

internalプロパティを設定するのではなく、動作することは知っていますが、publicこれがダウンストリーム全体に及ぼす影響についてはわかりません。プロパティでデータ注釈を使用することを好みますが、私が試したものはコントローラーの足場を妨げたり、隠しフィールドとして作成したりしました。私はそれらが公開されたままであることを好みますが、厳密に型指定されたビューでは生成されないようにします。

編集:

厳密に型指定されたビューを生成するには、Visual Studio で新しい「ビュー」を追加し、ビューがモデル化されているダイアログでクラスを選択します。これにより、クラスのプロパティによって表されるすべてのコントロールを含むビューが作成されます。たとえば、LastNameフィールドは次のように作成されます。

@Html.EditorFor(model => model.FirstName)
4

3 に答える 3

23

質問への回答

属性

[ScaffoldColumn(false)]

また

[Display(AutoGenerateField=false)]

不要なプロパティにより、デザイナーがそれらのプロパティの足場フィールドを生成できなくなる前に。

于 2012-08-14T14:02:54.973 に答える
7

データアノテーションを介してUIからプロパティを非表示にするには、プロパティを次のように装飾します。

 [ScaffoldColumn(false)] 

そして、それらはエディターテンプレートによって無視されます。

于 2012-08-14T14:32:10.300 に答える
4

必要なプロパティのみを含む別の ViewModel クラスを使用する必要があります。

于 2012-08-14T12:59:34.390 に答える