The HtmlAttribute collection consists of key-value pairs and here hidden is the key. You have to give it a value too. As you've written it now, the compiler interprets it as if you're referencing the variable hidden, which you haven't defined.
If you want hidden = "" in your HTML, use
<% Html.BeginForm("ChangeContent", "Content", FormMethod.Post, new { hidden = "" }); %>
According to the specc:
hidden is a boolean attribute. Boolean attributes can be indicated in several ways [ref]:
The presence of a boolean
attribute on an element represents the
true value, and the absence of the
attribute represents the false value.
If the attribute is present, its value
must either be the empty string or a
value that is an ASCII
case-insensitive match for the
attribute's canonical name, with no
leading or trailing whitespace.
In other words, the hidden attribute can be represented in three ways
<... hidden ...>
<... hidden="" ...>
<... hidden="hidden" ...>