2009-06-23 18 views
1

Ich habe versucht, eine geteilte Teilansicht zu verwenden, um zu rendern, wenn eine bestimmte Eintragsseite keine Daten enthält. Ich wollte ViewData verwenden, um Informationen von der Seite in mein Auflistungssteuerelement zu übergeben, wodurch die NoData-Teilansicht unter Verwendung der ViewData-Werte bedingt wiedergegeben würde.ViewData erbt nicht in Teiltabellen

Ich würde gerne in der Lage sein, sie in der Ansicht Markup, nicht in der Controller-Aktion angeben, aber wenn ich sie in der Ansicht hinzufügen die scheinen nicht in Kind partiellen Ansichten erben (wie die Nodata Teilansicht). Die Angabe in den ViewData-Werten in den Controller-Aktionen funktioniert jedoch einwandfrei, die Daten sind bis zum Ende verfügbar ...

Weiß jemand, warum es sich so verhält?

Antwort

2

Beim Rendern eines Partials können Sie auch ViewData übergeben.

<% Html.RenderPartial("NoData", ViewData); %> 
0
<%Html.RenderPartial("partialViewName", "viewData", "model"); %> 

es ist eine bewährte Methode, die Entscheidung in der Steuerung zu tun, wenn Sie ein Szenario haben eine Entscheidung in der Ansicht zu machen, trennen sie und sie in der Steuerung ruft bedingt