2011-05-19 5 views
77

İçerik sayfaları genel düzen öğelerini içeren bir ASP.NET MVC 3 uygulaması geliştiriyorum. Ancak, giriş sayfası bu düzeni takip etmediğinden, bu düzeni \Views\Shared\_Layout.cshtml'a yerleştiremiyorum.Farklı bir denetleyiciye ait kısmi bir görünümü görüntülemek için @ Html.Partial öğesini çağırma

Bu yüzden, \Views\Shared\_Content.cshtml adlı başka bir paylaşılan düzen eklemek ve bunu içerik görünümlerinden aramak istiyorum ... ancak maalesef bu görünümler farklı denetleyicilere ait.

Farklı bir denetleyiciye ait bir görünüm için @Html.Partial'u çağırmanın herhangi bir yolu var mı?

+0

Birisi lütfen aptalca sorularımı reddetme cesaretini alabilir mi? Bunu kendim yapamam. – pyon

+0

Kendi sorunuzu kapatmak için oy kullanabilmeniz gerekir. https://meta.stackexchange.com/questions/163375/vote-to-close-own-question –

cevap

139

Bu sorun değil.

@Html.Partial("../Controller/View", model) 

veya

@Html.Partial("~/Views/Controller/View.cshtml", model) 

hile yapalım mı.

@Html.Action("action", "controller", parameters) 

veya GvS söylediği gibi diğer aşırı

+8

@ Html.Partial ("~ Görünümler/Denetleyici/Görünüm", model) neden .cshtml uzantısına ihtiyaç duyar? Aksi takdirde, görünüm bulunamadı diyor. – ashes999

+2

Yeniden Biçimlendirici 6.1 bayrakları @ Html.Partial ("../ Denetleyici/Görünüm", model) 'bir hata olarak değil, '@ Html.Partial (" ~/Görünümler/Denetleyici/Görünüm.cshtml ", model)'. Her ikisi de çalışma zamanında iyi çalışıyor. –

+0

@GVs IF windows \ for dizinini kullanıyorsa neden \/dizinini kullanıyorsunuz? Herhangi bir nedenle – Adrian

6

herhangi fakat kullanışlı strongly typed views kullanmak ben de bulmak:

(diğer) denetleyici geçmesine istiyorsanız kullanabilirsiniz Böylece, sihirli dizeler olmadan

gibi bir şey yazabilirim.

+11

Resharper ile artık sihirli dizgiler gibi hissetmiyorlar :) –

İlgili konular