Я бы порекомендовал вам использовать шаблоны редакторов вместо написания циклов в ваших представлениях:
<table>
<tr>
<th>Currency</th>
<th>Rate</th>
</tr>
@Html.EditorFor(x => x.Currency)
</table>
, а затем в соответствующем шаблоне редактора, который будет отображаться для каждого элемента коллекции валют (~/Views/Shared/EditorTemplates/CurrencyViewModel.cshtml
):
@model CurrencyViewModel
<tr>
<td>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
</td>
<td>
<div class="editor-field">
@Html.EditorFor(model => model.Rate)
@Html.ValidationMessageFor(model => model.Rate)
</div>
</td>
</tr>
Обратите внимание, что важно имя и расположение шаблона редактора.По соглашению местоположение должно быть либо ~/Views/SomeController/EditorTemplates
(если шаблон повторно используется между действиями контроллера), либо более глобально ~/Views/Shared/EditorTemplates
.Имя шаблона редактора должно быть именем типа каждого элемента коллекции, для которой вы выполняете итерацию.