Коллекция HtmlAttribute состоит из пар ключ-значение, и здесь hidden
является ключом. Вы должны дать ему значение тоже. Как вы уже написали, компилятор интерпретирует это так, как будто вы ссылаетесь на переменную hidden
, которую вы не определили.
Если вы хотите hidden = ""
в своем HTML, используйте
<% Html.BeginForm("ChangeContent", "Content", FormMethod.Post, new { hidden = "" }); %>
Согласно спецификации:
hidden
является boolean attribute
. Логические атрибуты могут быть указаны несколькими способами [ref] :
наличие логического значения
атрибут элемента представляет
истинное значение и отсутствие
Атрибут представляет ложное значение.
Если атрибут присутствует, его значение
должен быть либо пустой строкой, либо
значение, которое является ASCII
регистронезависимое совпадение для
каноническое имя атрибута, без
ведущие или конечные пробелы.
Другими словами, атрибут hidden
можно представить тремя способами
<... hidden ...>
<... hidden="" ...>
<... hidden="hidden" ...>