Pages

Tuesday, March 26, 2013

What does Html.HiddenFor do?
 Creates a hidden input on the form for the field (from your model) that you pass it.


It is useful for fields in your Model/ViewModel that you need to persist on the page and have passed back when another call is made but shouldn't be seen by the user.


Consider the following ViewModel class:
public class ViewModel
{
    public string Value { get; set; }
    public int Id { get; set; }
}
 
 
Now you want the edit page to store the ID but have it not be seen:
<% using(Html.BeginForm() { %>
    <%= Html.HiddenFor(model.Id) %><br />
    <%= Html.TextBoxFor(model.Value) %>
<% } %>
 
 
Which results in the equivalent of the following HTML:


<form name="form1">
    <input type="hidden" name="Id">2</input>
    <input type="text" name="Value" value="Some Text" />
</form> 
 

No comments:

Post a Comment