Должен ли я всегда использовать модель представления или можно использовать ViewData?

Как вы думаете, когда лучше использовать ViewData поверх модели представления?

У меня точно такой же частичный вид в нескольких основных видах. Я хотел бы контролировать, как отображается частичное представление, но я бы также предпочел, чтобы частичное представление принимало только модель представления, представляющую собой набор записей, простоIEnumerable<> объект. Я бы предпочел не отправлять объект модели полного представления из основного представления, поскольку он также содержит множество различных свойств, объектов, которые управляют подкачкой, сортировкой, фильтрацией и т. Д.

Поэтому вопрос заключается в том, должен ли я создать другую модель представления для частичного представления или можно использовать ViewData? Я читал где-то, что с помощьюViewData это очень плохая практика.

С View Data я мог бы просто передать требуемые детали, как это:

@{
    ViewDataDictionary vd = new ViewDataDictionary
    {
        new KeyValuePair<string,object>("WithDelete", Model.WithDelete),
        new KeyValuePair<string,object>("WithRadarCode", Model.WithCode)
    };
}

// ...

@if (Model != null) {
    Html.RenderPartial("_ListOfRecordingsToRender", Model.recordingViewModel, vd);
}

На данный момент было бы разобраться.

Я беспокоюсь, что в настоящее время это*.recordingViewModel В моем проекте много разных вариаций из-за разных моделей создания / редактирования, листинга, просмотра деталей записи и т. д. Я чувствую, что в моем проекте это может стать слишком грязным, если я создаю модель представления для каждого действия.

Как вы думаете. Пожалуйста, не могли бы вы дать совет по этой конкретной проблеме. Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос