Я только что зарегистрировался, и это мой первый пост, поэтому, пожалуйста, потерпите меня, если вопрос не самый лучший. Я посмотрел и не могу найти ответ, который соответствует моим требованиям; возможно, это потому, что невозможно достичь того, чего я хочу.
У меня есть частичное представление, которое просматривает список IEnumerable полей EditorFor из модели представления:
@model DocumentViewModelContainer
@Html.EditorFor(m => m.Document.Metadata)
DocumentViewModelContainer имеет следующий код:
public class DocumentViewModelContainer
{
public DocumentViewModel Document
{
get;
set;
}
DocumentViewModel имеет следующий код:
public class DocumentViewModel
{
public IEnumerable<DocumentMetadataFieldViewModel> Metadata
{
get;
set;
}
}
В обеих моделях представлений есть масса других объектов, которые я не упомянул в этом вопросе. DocumentMetadataFieldViewModel состоит из нескольких полей стандартных типов (int, строки и т. Д.)
То, чего я пытаюсь добиться, - это добавить OrderBy к этому списку, который был отобран путем упорядочения объектом в модели вида снизу, например:
@model DocumentViewModelContainer
@Html.EditorFor(m => m.Document.Metadata.OrderBy(i => i.InstanceFieldOrder))
Однако это дает ошибку:
System.InvalidOperationException : Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions.
Я не только новичок в MVC, но и в C # в целом; В этом проекте я выучил язык на лету, поэтому, пожалуйста, играйте хорошо:)
Спасибо
Mark