Modelo de exibição personalizado do ASP.NET MVC 3 com UIHint - para loop obrigatório?

Se eu tiver um ViewModel como isso

public class MyViewModel
{
   [UIHint("SomeTemplate")]
   public ICollection<SomeViewModel> Submodel { get; set; }
}

E um @ fortemente tipaVisã com uma linha de HTML como esta:

@Html.DisplayFor(model => model.Submodel)

Edisplay template com uma assinatura como esta:

@model MvcApplication1.Models.SomeViewModel

Eu recebo um erro dizendo "o item do modelo é do tipoList<SomeViewModel> mas este dicionário requer um modelo do tipoSomeViewModel. ".

O que faz sentido, mas eu esperava que a inteligência embutida no modelo do MVC fosse lançada, veja que é umIEnumerable de algo e trabalhe para chamar meu modelo N vezes, como costuma acontecer paraHtml.DisplayFor sem a dica.

Então parece que[UIHint] substitui essa funcionalidade?

Obviamente, posso apontar para outro modelo que aceita a coleção e chamaHtml.DisplayForModel(), basicamente emulando a inteligência do MVC. Mas espero evitar isso. Honestamente, eu preferiria fazer um loop foreach do que ter esse modelo de "wrapper" de 1 linh

Algumas idéias melhores?

É como eu quero dizer: "Ei MVC, renderize um modelo para cada um desses caras. Mas, em vez de usar a convenção de nomes para encontrar o modelo, aqui está uma dica".

questionAnswers(3)

yourAnswerToTheQuestion