Элемент Html.EditorForModel и Hiding из Edit

Я использую следующий код для рендеринга редактора для моей модели с использованием ASP.NET MVC 3, он отлично работает, за исключением того, что я не хочу, чтобы пользователь видел или редактировал поле "Id" в моем объекте.

<% using (Html.BeginForm())
   { %>
    <%: Html.ValidationSummary(true, "Your input has errors, please correct and try again") %>
    <%: Html.EditorForModel(Model)%>

    <input type="submit" value="Update" />
<% } %>

В моей модели для поля ID у меня есть следующие

[Display(AutoGenerateField = false)]
public int Id{ get; private set; }

Который предоставил то, что я думал, будет работать на основе описания параметра "AutoGenerateField". Однако это не работает. Я не хочу создавать весь редактор только для этой маленькой странности....

Ответы

Ответ 1

Используйте [ScaffoldColumn(false)], чтобы скрыть поля

Ответ 2

Вы можете использовать атрибут [HiddenInput]:

[HiddenInput(DisplayValue = false)]
[Display(AutoGenerateField = false)]
public int Id { get; private set; }