2011-03-26 10 views
38

ViewData.Model'da bazı verilerim var, ve görünümlerimde kısmi bir görünüm yazmak ve sayfamdaki mevcut modellerini iletmek istiyorum.asp.net mvc'de kısmi görünümleri nasıl görüntüleyebilirim?

Geçerli ViewData.Model numaralarını nasıl geçirebilirim ve bunları kısmi olarak konumlandırabilir miyim? güçlü kısmi görünümü üstten @model YourModelType kaldırmak daktilo

@Html.Partial("YourPartialViewName", Model) 

sen istemiyorsanız: görünümünüzü kullanımda Sonra

@model YourModelType 
<div> 
    <!-- HTML to render your object --> 
</div> 

:

cevap

89

gibi kısmi görünümü şey oluşturun kısmi görünüm ve dynamic türü için varsayılan olacaktır.

Güncelleme

varsayılan görünümü motoru kısmi ve sonra ~/Views/Shared klasörde çağıran görünümü ile aynı klasörde kısmi görünümleri arayacaktır. Kısmi farklı bir klasörde bulunuyorsa, tam yolu kullanmanız gerekir. Aşağıdaki yolda ~/ kullanımını unutmayın. onlar çalışmamış partialname kısmi yerini geçmek ve bana hata verirsen

@Html.Partial("~/Views/Partials/SeachResult.cshtml", Model) 
+0

Merhaba benim durumum kapsayıcı görünümü "ContainerModel" ile bağlanmış ve kısmi görünüm paylaşılan klasörde ve @ Html.Partial "(" ~/Views/Partials/SeachResult.cshtml ")" ChildrenModel "ile bağlanmış, Model) "ChildrenModel beyan edilmez. Bu, koruma seviyesi nedeniyle erişilemez" istisnası vererek ne yapacağınızı önerebilir misiniz? –

+1

Ve neden @ Html.RenderPartial (string viewName) '..? Her zaman, '' void '' türünü 'object' 'dolaylı olarak değiştiremez. – shashwat

+3

@shashwat - Bu hatayı önlemek için RenderPartial iç parantezlerini kullanın. – Pradeep

3
<%= Html.Partial("PartialName", Model) %> 
+0

o MVC 3'te çalıştı değil o @ Html.RenderPartial (Globals.Theme_Path + "görüntüleme/Partials/seachresult.cshtml", ViewData .Model) –

+0

@Moby Kısmi görünüm bulunamıyor gibi görünüyor, cevabımı bakın, ancak hata mesajını gönderebilir ve sonra daha fazla yardımcı olabiliriz. –

+0

Temaları farklı görünümler kullanarak uygulamamalısınız. Temalar farklı resimler/css dosyaları kullanılarak uygulanmalıdır. Ayrıca, Kısmi kullanın ve RenderPartial kullanmalısınız. –

İlgili konular