Ю. У меня нет способа передать модель со стороны клиента на сервер для частичного просмотра. Итак, нет, это невозможно.
Поскольку вы хотите предоставить другое частичное представление в зависимости от выбранного элемента, вам необходимо передать эту информацию в браузер, чтобы он мог решить, какое действие нужно вызвать, чтобы визуализировать представление, соответствующее выбранному элементу. Для этого вы можете добавить эту информацию как value
каждого элемента в раскрывающемся списке. Этот value
может быть чем-то таким же простым, как идентификатор или сложным, как и весь URL-адрес с параметрами, которые вызывают требуемое представление. (Если вы выберете опцию url, вы можете отобразить ее с помощью вспомогательного помощника URL-адреса 2).
Затем в коде, который обрабатывает событие change
, вы можете восстановить value
выбранного элемента и использовать его в качестве параметра для создания ajax-вызова, который отобразит требуемый частичный вид. (Например, если это URL-адрес, вы можете использовать jQuery.get()
или любой другой jQuery-метод ajax с этим URL-адресом).
Идеальная ситуация заключается в том, что вы можете отобразить частичный вид, не завися от предыдущего краснеления основного вида. То есть идеальным является то, что вы можете построить модель для частичного, используя действие и параметры, полученные в вызове ajax.
Но если вам нужна информация, которая должна быть сгенерирована при рендеринге основного вида, вы можете использовать TempData
, чтобы сохранить его при рендеринге основного вида и получить его при рендеринге части. (TempData
или Session
, что зависит от того, что именно вы хотите сделать).