我有简单的编辑表单,您可以在其中编辑用户个人资料,但无法编辑用户名。
所以改为代码:
@Html.EditorFor(model => model.username)
我用这一行:
@Html.TextBoxFor(model => model.username, new {disabled = "disabled", @readonly = "readonly" })
这很好用,但是,我无法保存其他字段"编辑器"
e.g。我有列客户,因此一个用户可以拥有一个或多个客户,因此如果我在编辑中进行更改,例如将新用户添加到客户,然后当我单击“保存”时,它不会保存它。但是,如果我再次将代码更改为@ Html.EditorFor(model => model.username),则将其保存...
知道如何解决这个问题吗?
答案 0 :(得分:1)
问题是不会发回只读文本框(值不在POSTed数据中)。
因此,如果您想拥有一个只读文本框并且在POSTed数据中具有username的值,那么您必须添加一个
@Html.HiddenFor(m => m.username)
但是......如果您只想展示它们,您应该只在管理员中管理它(不要尝试更新用户名......因为您不想更新用户名)。