2013-02-18 4 views
16

Я хотел бы передать строку в мой частичный вид из вызывающего представления - эта строка будет отличаться в зависимости от вида, из которого визуализируется частичное представление. Что-то вроде этого:Передача строки в частичный вид в MVC4

@{ Html.RenderPartial("PartialViews/_BreadcrumbsPartial", "New Item");} 

Или

@{ Html.RenderPartial("PartialViews/_BreadcrumbsPartial", Model.Name);} 

Как я могу открыть второй параметр внутри частичный вид, так как я не маркированы, что параметр? Я хотел бы избежать передачи всей модели, если это возможно, и просто ссылаться на эту строку напрямую.

ответ

32

Your Частичные должны связать в строку

примера, на первом месте в этом:

@model string 

Чтобы получить доступ к значению в вашем частичном использовании @Model вместо строковых паров

+0

Я попробовал это, но не знаю, как ссылаться на него в теле моего PartialView. Я добавил то, что у вас на вершине моего частичного и пробовал @string в теле, но он ищет идентификатор. – RobVious

+0

@ RobVious, я обновил ответ. В основном используйте @ Model в качестве вашей строки. –

+0

Это потрясающе. Спасибо Дэйву. – RobVious

0

Вы могли бы используйте TempData (или, возможно, ViewData), который должен быть доступен в последующих представлениях. Однако я считаю, что вы также можете передавать переменные напрямую, может быть, через строку запроса.

Пожалуйста, смотрите на этот вопрос, а asp.net mvc parameter from page to a partial view

+1

Я действительно не хочу использовать ViewData - данные уже доступны из ViewModel в моем представлении. – RobVious

Смежные вопросы