Позвольте мне предположить это, сказав, что я перехожу от классического ASP к .net, поэтому мои знания .net - это все книги, а не использование. Я работаю над платформой корзины покупок, и мне было поручено создать 3 разных типа отображения (горизонтальный слайдер, вертикальный слайдер и сетка), которые могут быть использованы двумя разными моделями.2 Различные модели должны использовать один и тот же вид
Я получил новые взгляды для работы с моей первой моделью и подумал, что я был в ясном состоянии и подключен к второму, но потом я начал получать ошибку о том, что модели не являются одинаковыми. Я пытаюсь понять, что лучший способ справиться с этим. Решениями я придумываю являются
Использования вида модели - это, кажется, как предполагается, будет использоваться только тогда, когда вам нужно объединить 2 модели в одно и то, что действительно противоположном тому, что мне нужно, Мне нужно сделать 1 просмотр для двух моделей.
Сделайте отдельные виды для каждого типа. Это кажется логичным, но приведет к появлению 5 новых файлов представлений, которые почти идентичны тем, которые я уже создал, и это кажется излишним.
Использование renderPartial и конвертировать модели - на самом деле не знаю, как я бы даже сделать это, но мой, хотя было renderpartial из создания реальных дисплеев (горизонтальный слайдер, вертикальный слайдер и вид сетки)
Мне сложно определить, что такое лучший способ действий. Я знаю, что с MVC и .net вы, как предполагается, никогда не кодируете одно и то же дважды, и я думаю, что делать отдельные представления делает именно это. Любые мысли о том, как наилучшим образом подойти к этому, будут очень признательны.
Вид представляет собой визуальное представление вашей модели, поэтому, если у вас есть 2 разных модели для отображения, вам нужно 2 разных вида (или частичные виды). –
Первоначально две разные модели будут идти на свои собственные взгляды, но затем оба конца в одном и том же представлении, но оба они были отправлены в эту же точку зрения разными способами, один использовал Html.Action, который, как я предполагаю, использовался для его преобразования, а другой использовал DisplayFor, поэтому я предположил, что это можно сделать с помощью повторное использование одних и тех же представлений. – Sirena
Непонятно, что вы имели в виду под своим последним комментарием, но если взгляды являются почти идентичными, тогда вы можете использовать основной вид или макет для общих html и частичных представлений ('Html.Partial()' или '@ Html.Action()' или 'EditorTemplates' для конкретного html-модели. –