我正在使用MVC Razor,当我尝试编辑某些内容时,我将其传递给ViewModel
,其中包含所有必要的信息,我已对此进行了测试。
这是我的观点:
<div class="editor-label">
@Html.LabelFor(model => model.CollectionId)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.CollectionId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.BrandName)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.BrandName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Season)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Season)
@Html.ValidationMessageFor(model => model.Season)
</div>
正如您所看到的,我只使用@Html.EditorFor
来了解他们可以更改的信息,因为这是我想要改变的全部内容。但我认为有必要向他们展示其他信息,以便他们确切地知道他们正在编辑什么。
我的问题是,如何才能实现相当于传递信息的@Html.EditorFor
,而不实际允许他们编辑信息?
答案 0 :(得分:4)
你必须使用Html.HiddenFor将它们的值传递回控制器。
e.g。
<div class="editor-field">
@Html.DisplayFor(model => model.CollectionId)
@Html.HiddenFor(model => model.CollectionId)
</div>