Is there a way to use (or something simular)
@Html.HiddenFor
for your whole model.
So instead of doing something like this:
@Html.HiddenFor(model => Model.Person.Name)
@Html.HiddenFor(model => Model.Person.LastName)
@Html.HiddenFor(model => Model.Address.Street)
use something like this (this example doesn't work)
@Html.HiddenFor(model => Model)
I've already searched for it on stackoverflow and google...but haven't found anything about it.
I need to hold on to some values for different models that aren't saved into db, so using only Html.HiddenFor the ID is not an option for me.
Thanks in advance!
HiddenFor() Returns an HTML hidden input element for each property in the object that is represented by the specified expression.
The value of the Hidden Field created using Html. HiddenFor helper function is read using Model class object while the value of Hidden Field created using Html. Hidden helper function is read using Request. Form collection in ASP.Net MVC Razor.
DisplayFor() The DisplayFor() helper method is a strongly typed extension method. It generates a html string for the model object property specified using a lambda expression.
Here we will learn how to create or use hidden fields in asp.net mvc with a simple example using HTML helpers. Before going in-depth, let's understand the definition of hidden fields. The hidden fields are controls that allow us to store data or information on a page without displaying it.
Select the properties you want to be in a hidden input and add the HiddenInputAttribute
in your model as follows:
public class MyModel
{
[HiddenInput]
public int MyProperty { get; set; }
}
You may take a look at the MVCContrib's Html.Serialize method. It's sorta viewstate emulation (and internally it indeed uses ViewState :-)).
An alternative approach would be to simply store an unique id as a hidden field and inside the controller action use this id to fetch the corresponding model from your underlying data store.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With