2013-02-18 12 views
16

Chciałbym móc przekazać ciąg do mojego widoku częściowego z widoku wywołującego - ten ciąg będzie różny w zależności od widoku, z którego renderowany jest widok częściowy. Coś takiego:Przekazywanie ciągu znaków do częściowego widoku w MVC4

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

Albo

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

Jak mogę uzyskać dostęp do tego drugiego parametru z poziomu częściowego widzenia, ponieważ ja nie oznakowane, że parametr? Chciałbym uniknąć podania całego modelu, jeśli to możliwe, i po prostu odwołać się bezpośrednio do tego ciągu.

Odpowiedz

32

Twój Częściowa musi wiązać się z łańcucha

przykład, w górnym miejscu to:

@model string 

Aby uzyskać dostęp do wartości w swoim częściowy, użyj @Model zamiast strun param

+0

Próbowałem to, ale nie wiem jak odwołać go w ciele moim PartialView. Dodałem dokładnie to, co masz na górze mojego częściowego i wypróbowanego @stringa w ciele, ale szuka identyfikatora. – RobVious

+0

@RobVious, zaktualizowałem odpowiedź. Zasadniczo użyj @ Model jako ciąg. –

+0

To jest niesamowite. Dzięki, Dave. – RobVious

0

Mogłabyś użyj TempData (lub prawdopodobnie ViewData), która powinna być dostępna w kolejnych widokach. Wierzę jednak, że możesz również przekazywać zmienne bezpośrednio, być może za pośrednictwem ciągu zapytania.

Proszę zobaczyć tę kwestię oraz asp.net mvc parameter from page to a partial view

+1

Naprawdę nie chcę używać ViewData - dane są już dostępne z ViewModel w moim widoku. – RobVious

Powiązane problemy