Add support for hidden fields. There could be an alternative way of adding them to the Items collection, e.g.
.AddHidden()
Consider the cases when the hidden field is bound to a model field and when it isn't bound to the model. The latter could be a scenario involving antiForgeryTokens:
<input type="hidden" name="__RequestVerificationToken" value="token" />
In both cases you should be able to set the value of the hidden field programmatically and submit it with the form.