2014-05-05 4 views
0

У меня есть простая форма редактирования, где вы можете редактировать профиль пользователя, но вы не можете редактировать имя пользователя.Редактор и ошибка ReadOnly

Так что вместо этого кода:

@Html.EditorFor(model => model.username) 

Я использую эту строку:

@Html.TextBoxFor(model => model.username, new {disabled = "disabled", @readonly = "readonly" }) 

Это прекрасно работает, но я не могу сохранить другие поля, которые "EditorFor"

например У меня есть клиенты столбцов, поэтому у одного пользователя может быть один или несколько клиентов, поэтому, если я сделаю изменения в редактировании, например, добавьте нового пользователя клиенту, а затем, когда я нажимаю «Сохранить», он не сохраняет его. Но если я снова сменю код на @ Html.EditorFor (model => model.username), тогда он сохранит его ...

Любая идея, как это сделать?

ответ

1

Проблема заключается в том, что текстовое поле только для чтения не отправляется обратно (значение не входит в данные POSTed).

Так что, если вы хотите иметь текстовое поле только для чтения и имеет значение имени пользователя в публикуемую DATAS, вам придется добавить

@Html.HiddenFor(m => m.username) 

... Но если вы просто хотите показать их, вы должны просто управляйте этим в своем контроллере (не пытайтесь обновить имя пользователя ... поскольку вы не хотите обновлять имя пользователя).

Смежные вопросы