在“编辑”页面中隐藏ID字段时出错

时间:2014-06-26 12:11:11

标签: c# asp.net-mvc-4

我有一个常规数据列表页面,我的数据来自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" })

1 个答案:

答案 0 :(得分:2)

如果您想向控制器发布内容,则需要按值填写。如果您不想向用户显示,请写下:

@Html.HiddenFor(model => model.Identifier;

禁用TextBox也不会发送数据,所以你也需要写隐藏。