MVC3: Как вызвать представление из другого контроллера из другого контроллера - PullRequest
0 голосов
/ 04 августа 2011

Я должен сделать форму, состоящую из нескольких подформ, которые могут содержать или не содержать сетки.Для простоты предположим, что я использую 2 модели: 1. Сведения о кандидате: где размещается основная информация кандидата (имя, должность, пол).2. Опыт соискателя: там, где соискатели имеют опыт работы, размещаются подробности.

Теперь для целей организации я думаю создать два разных контроллера, а именно ApplicantDetail и ApplicantExperience, и оба будут содержать свои соответствующие функции.Но как только пользователь вводит свою основную информацию, я хочу, чтобы тот же самый вид вызывал в индексном представлении ApplicantDetail, которое будет иметь сетку, и пользователь может ввести свои рабочие данные в виде строк.

Мой основной вопрос заключается в том, могу ли я создать единый вид бритвы, который также будет содержать вид бритвы моего ApplicantDetail?

1 Ответ

1 голос
/ 04 августа 2011

Я считаю, что вы ищете RenderAction.

Используя RenderAction, вы можете вызывать контроллер / представление в любом представлении.

Так что, если у вас был какой-то вид бритвы и вторая комбинация Controller и View, вы могли бы вызвать ее так же, как в первом представлении:

@{ Html.RenderAction("Action", "Controller2"); }

Это может быть полезно при попытке модульной функциональности.

См. Этот пост в блоге от Фила Хаака для более подробной информации: Html.RenderAction и Html.Action

...