When I used asp.net mvc 3 scaffolding to make a list. I got a view containing a table. With the headers of that table hard coded in the view. I want to use LabelFor, so I get the l10n I need.
What I tried to do (but failed) was:
@model IEnumerable<User>
<table>
<tr>
<th>
@(Html.LabelFor<User, string>(model => model.Name)) <!--This line errors-->
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
</table>
It errors with "IEnumerable does not contain a definition for Name".. etc...
How do I make this work?
A Strongly Typed view means it has a ViewModel associated to it that the controller is passing to it and all the elements in that View can use those ViewModel propertiesYou can have strongly typed partials as well.
The ASP.NET Core provides the ability to pass strongly typed models or objects to a view. This approach helps us with the intellisense and better compile-time checking of our code. The scaffolding mechanism in Visual Studio can be used to create the View.
Try with some like
@(Html.LabelFor<User, string>(model => model.FirstOrDefault().Name))
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