How do I obtain an HtmlHelper<TModel> instance for a model in ASP.NET MVC?
- by DanM
Let's say I have an Index view. The model I pass in is actually a collection of models, so the Html property is of type HtmlHelper<List<MyModel>>. If I want to call extension methods (e.g., Display() or DisplayFor() on the individual items in the list, however, I think I need to obtain an HtmlHelper<MyModel>. But how?
I tried using the HtmlHelper<TModel> constructor, which looks like this:
HtmlHelper<TModel>(ViewContext, IViewDataContainer)
But I'm not having any luck with that. I don't know how to obtain the IViewDataContainer for the item, and the documentation on these things is very sparse.
A lot of magic apparently happens when I do...
return View(List<MyModel>);
...in my controller.
How do I recreate that magic on individual items in a list/collection?