21 HAZİRAN 2011, Salı
MVC3 Razor özyinelemeli fonksiyon
Tamam, bu yüzden bir liste listeleri listesi listesini içeren görüntülemek için istiyorum
Kaç tane ekran var bilmenin bir yolu var, bu eski özyinelemeli yordamı kırabilirim olduğunu düşündüm.
Bu konuda gerçi tam olarak sorun yaşıyorum.
bu şimdiye kadar (görünüm - basitleştirilmiş) ben ne var:
@foreach(MyObject item in @Model.ListOfObjects){
<div> @item.Title </div>
//Call recursive function?
}
Şimdi bu nesnelerin her biri de bir Liste var. Seviye başına bir sekme girinti ile bu div aşağıda her düzeyde görüntülemek için, örneğin istiyorum.
Jilet gibi bir işlevi burada yapılması gereken şey olacağını düşünüyordum, ama şekillendirme yardıma ihtiyacım var. Bak ne düşünüyorum:
@functions{
public static void ShowSubItems(MyObject _object){
if(_object.ListOfObjects.Count>0){
foreach(MyObject subItem in _object.listOfObjects){
//Show subItem in html
ShowSubItems(subItem);
}
}
}
}
Ama gördüğünüz gibi, ben açıkça yardım :) lazım biraz
CEVAP
21 HAZİRAN 2011, Salı
Razor view engine @helper
anahtar kelime ile satır içi özyinelemeli yardımcıları yazmak için izin verir.
@helper ShowTree(IEnumerable<Foo> foos)
{
<ul>
@foreach (var foo in foos)
{
<li>
@foo.Title
@if (foo.Children.Any())
{
@ShowTree(foo.Children)
}
</li>
}
</ul>
}
Bunu Paylaş:
C# MVC3 Razor öğeleri alternatif @dosy...
Nasıl ASP.NET MVC3 Razor " salt okunur...
MVC3 Razor: kod bloğu içinde html Görü...
asp.net mvc3 razor belgeler?...
MVC3 Razor, nasıl bir eylem içinde işl...