Я обнаружил, что, когда я собираю Частичное, очень помогает, если я рассмотрю, какой будет Модель для Частичного. Я почти всегда нахожу, что если я потрачу время на то, чтобы подумать об этом, то многократное использование частичного значительно возрастет.
Частичное обычно должно использовать некоторое естественное подмножество или вариацию данных в модели всего представления. Когда ваше создание Частичного начинается с этого, необходимость слишком много думать о том, «какую модель следует использовать при частичном использовании», часто свидетельствует о том, что, возможно, вам следует создать другой частичный элемент вместо того, чтобы пытаться использовать его повторно.
Если вам нужно перестроить новую модель для частичного, я думаю, что проблема может заключаться в том, что модель всего вашего представления не охватывает все, что вам нужно.
С учетом сказанного, хотя; Во многих случаях у меня есть Partial, который использует модель, которая кажется отделенной от модели всего представления. Но в большинстве случаев эти модели являются новыми / пустыми объектами, а не объектами, для которых требуется создание экземпляров и для которых установлены свойства и т. Д. (Это обычно происходит для Partials, которые используются в обновлениях, связанных с Ajax)
Обратите внимание, что в MVC2 тоже есть кое-что для этого; Html.RenderAction()
позволяет вам вызывать совершенно новое действие (которое будет иметь собственную модель) и отображать его в текущем представлении. Я стараюсь избегать необходимости использовать его, собственно, на самом деле ... но для меня это будет лучше, чем пытаться "построить" какую-то новую модель для частичного или добавлять неестественную информацию в текущую модель представления.