Мне известен этот вопрос , но исходный постер принял решение, не предполагающее вложенности. Я определенно хочу вложить частичные представления (если, конечно, нет лучшего способа.)
У меня есть страница, которая может Ajax-загружать одно из нескольких частичных представлений, в зависимости от действий пользователя в основном представлении. (Представления являются частичными, поскольку я понимаю, что если вы хотите загрузить значительный дополнительный контент из вызова Ajax, вам необходимо вернуть PartialViewResult из вашего вызова.) Несколько частичных представлений имеют один общий элемент, раскрывающийся список, который я бы хотел бы уйти в собственное частичное представление.
Но это не работает. Каждое из моих частичных представлений имеет связанную модель представления, которая является их моделью. Для вложенного частичного представления я хотел бы передать значение одного поля, обнуляемого int, из модели представления родительского представления в качестве модели для вложенного частичного представления.
Но во время выполнения я получаю сообщение об ошибке, в котором говорится, что моему частичному представлению требуется Nullable
Итак, у меня двоякий вопрос:
Не разрешается ли вложение частичных представлений? (В этом случае я бы хотел, чтобы фреймворк проверил ситуацию и выдал ошибку, в которой прямо говорится об этом.)
Есть ли способ получить желаемый эффект от факторизованного общего элемента интерфейса, кроме как с частичный взгляд? Я рассматривал, но не пробовал создать шаблон редактирования, потому что считал, что то, что не сработает для частичных представлений, не сработает для них, но я мог ошибаться.
ETA: Я обнаружил свою проблему: когда вы передаете нулевое значение для модели в HtmlHelper.Partial или RenderPartial, механизм рендеринга заменяет модель вызывающего частичного представления вместо этого нулевого значения, предполагая, что вы просто не сделали этого. передать модель.
Что неверно в моем случае: мой Nullable
Но вот почему у меня была проблема.