2011-08-10 26 views
5

benim şimdiki foreachta aşağıdaki nasıl uygulanacağı olarak karıştı: @post.anonTRUE (ve bu yüzden olacak ki eğer öyleyse ASP.NET MVC3 C# - foreach

@foreach 
(var post in Model."table".Where(w => w.Private_ID == 1).OrderBy(o => o.Date)) 
{ 
    <div class ="post"> 
    <fieldset> 
     <p class="post_details">At @post.Post_Date By @post.Username</p> 
     @post.Post_Desc 
    </fieldset> 
    </div> 
} 

post.Username göstermeyecek bir o "Anonim" deyin

Her türlü öneri/yardım/öneriniz için şimdiden teşekkür ederiz.

+1

Model "tablo" '? –

+2

o aptal bir isim var ve kendimi utandırmak istemedim :) – Amy

cevap

8

Sen gerekir çizgisinde bir şey yapmak: zaten yapılan mantık tümü ile belirli bir görünüm model oluştururken, daha doğrusu bu nedenle (görünümüne bırakmak yerine, C# bu mantığın en yapıyor düşünün rağmen

@(post.anon ? "Anonymous" : post.Username) 

. M Eğer aracılığıyla sadece döngü olabilir eaning ve herhangi bir ek düşünme yapmak zorunda değildir:

Gerekirse yukarıdaki örnekte @ post.Poster zaten anonim yüklüdür
@foreach(var post in Model.Posts) 
{ 
    <div class ="post"> 
     <fieldset> 
     <p class="post_details">At @post.Post_Date By @post.Poster</p> 
     @post.Post_Desc 
     </fieldset> 
    </div> 
} 

.

+0

Manzaraya mantık koymak istemiyorum, bu yüzden tavsiyelerinizi alacağım, çok teşekkür ederim! – Amy

0

bu deneyin:

@foreach(var post in Model."table".Where(w => w.Private_ID == 1).OrderBy(o => o.Date)) 
{ 
    <div class ="post"> 
     <fieldset> 
      <p class="post_details">At @post.Post_Date By (@post.Anon == true ? "Anonymous" : @post.Username)</p> 
      @post.Post_Desc 
     </fieldset> 
    </div> 
} 

DÜZENLEME: Üzgünüm, çizgi demeliydim: @ (post.Anon == true "Anonim":? Post.Post_Desc)

+0

Çalışmıyor ama ne yapmaya çalışıyorsa onu çözmüyorum. Çok teşekkür ederim! – Amy

+0

Neden post.Anon == true? Bunu kısaltılabilirsiniz: post.Anon? – lahsrah

+0

Evet yapabilirsin. Sadece post.Anon yeterli olurdu. Bu kişisel bir seçim. Okunabilirlik için açıkça == doğru koymak istiyorum. –