2011-02-16 22 views
5

Bunun gibi bir şey yapmak isterim:MVC'de '#include' dosyasının doğru yolu nedir?

<!--#include file="../stuff/foo/box.aspx"--> 

Ancak bunu bir ASP.Net MVC uygulamasında yapmak yanlıştır. ASP.Net MVC projesinde aynı şeyi elde etmenin daha iyi bir yolu var mı?

cevap

14
<%: Html.Partial("~/Views/foo/box.ascx") %> 

ya kullanın: hepsini en iyi kullanmak

<% Html.RenderPartial("~/Views/foo/box.ascx"); %> 

veya editor template (bu kısmi görünümü modeli özelliğini düzenleme için girişler içeriyorsa):

<%: Html.EditorFor(x => x.MyModelProperty) %> 

veya bir görüntüleme şablonu (bu, kısmi görünüşüdür modeli özelliği sadece ekran) içeriyorsa:

<%: Html.DisplayFor(x => x.MyModelProperty) %> 

ve bunların Jilet denklik

@Html.Partial("~/Views/foo/box.ascx") 
@{Html.RenderPartial("~/Views/foo/box.ascx");} 
@Html.EditorFor(x => x.MyModelProperty) 
@Html.DisplayFor(x => x.MyModelProperty) 
2

Kısmi bir görünüm çizmelisiniz.

2

Sen

Html.RenderPartial('~/Views/Login/Box.ascx'); 

RenderPartial aynı bağlamı kullanarak sayfadaki bölümü oluşturmasına imkan tanır kullanabilirsiniz. Yeni bağlamını kullanarak işlemek istiyorsanız,

Html.RenderAction("Box","Login"); //Box - Action, Login - Controller 
İlgili konular