我有一个常规数据列表页面,我的数据来自SQL数据库
当我进入常规的“编辑”页面来更改记录的名称和其他内容时,我试图隐藏ID字段,因为我不希望用户看到ID或修改它,我得到了以下错误:dbupdateconcurrencyexception !!!它显示在:
db.SaveChanges();
如果我将ID字段恢复正常(用户可以更改它),它可以正常工作!!!
所以如何在没有此错误的情况下隐藏或使ID字段只读!
系统默认使用:
<div class="editor-label">
@Html.LabelFor(model => model.Identifier)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Identifier)
@Html.ValidationMessageFor(model => model.Identifier)
</div>
所以我只能使用它作为现成的:
@Html.TextBoxFor(model => model.Identifier, new { disabled = "disabled", @readonly = "readonly" })
答案 0 :(得分:2)
如果您想向控制器发布内容,则需要按值填写。如果您不想向用户显示,请写下:
@Html.HiddenFor(model => model.Identifier;
禁用TextBox也不会发送数据,所以你也需要写隐藏。