Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET MVC3: How do I hide fields using Html.DisplayForModel and Html.EditorForModel

Using the following two methods in my view and edit views, They run off the model and automatically generate a list of the fields with labels, to display/edit.

  @Html.EditorForModel()

  @Html.DisplayForModel()

The problem is that they display every field.. Including the ID field, which is bad when it comes to editing as it should not be changed.

So, How do I hide certain fields in the model. (without removing the fields from the model.)

like image 751
IAmGroot Avatar asked Nov 22 '11 10:11

IAmGroot


1 Answers

You can use the Scaffold Attribute

[ScaffoldColumn(false)]
public int Id {get;set;}

And if you also want that the model binder does not touch the Id field (to prevent over-posting) you can set the ReadOnly-Attribute too.

[ReadOnly(true)]
[ScaffoldColumn(false)]
public int Id {get;set;}
like image 52
dasheddot Avatar answered Oct 11 '22 19:10

dasheddot