The ICollection interface doesn't have a [] indexer defined. You cannot use it like an array.
It does, however, support enumeration. In your case, you can just swap out the for loop with foreach and use the enumerator instead:
@foreach (var footer in Model.SalesFooters)
{
<tr>
<td>
@Html.EditorFor(f => footer.ItemCode)
</td>
<td>
@Html.EditorFor(f => footer.Quantity)
</td>
<td>
@Html.EditorFor(f => footer.UnitPrice)
</td>
</tr>
}