Do I need to use the model for data access in DisplayFor/EditorFor?
When does the expression passed to `DisplayFor` and `EditorFor` need to use the model to do its data access?

For example, I might have the following Models

    class MyModel {
       IList<SubModel> Subs { get; set; }
    }
    class SubModel {
       string Name { get; set; }
    }

I could then write my view data access using a full path starting at the model:

    @Html.DisplayFor(m => m.Subs[i].Name)

Or, I might have something like this within the view that doesn't use the model:

    @foreach (var item in Model.Subs) {
        @Html.DisplayFor(m => item.Name)
    }

**But in the above I'm not actually using the model.** This seems to have worked every time I've tried, but under what conditions might I run into problems?

`EditorFor` typically uses the `Expression` to build the name/id into the form elements. Is it ever safe to not use the model when specifying an expression passed to `EditorFor`?

Do I need to use the model for data access in DisplayFor/EditorFor?
===

When does the expression passed to `DisplayFor` and `EditorFor` need to use the model to do its data access?

For example, I might have the following Models

    class MyModel {
       IList<SubModel> Subs { get; set; }
    }
    class SubModel {
       string Name { get; set; }
    }

I could then write my view data access using a full path starting at the model:

    @Html.DisplayFor(m => m.Subs[i].Name)

Or, I might have something like this within the view that doesn't use the model:

    @foreach (var item in Model.Subs) {
        @Html.DisplayFor(m => item.Name)
    }

**But in the above I'm not actually using the model.** This seems to have worked every time I've tried, but under what conditions might I run into problems?

`EditorFor` typically uses the `Expression` to build the name/id into the form elements. Is it ever safe to not use the model when specifying an expression passed to `EditorFor`?
