2011-08-10 19 views
5

मैं कैसे मेरे वर्तमान foreach में निम्नलिखित को लागू करने के लिए के रूप में उलझन में हूँ:ASP.NET MVC3 सी # - 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 नहीं दिखाएगा कि अगर @post.anon है TRUE (और इतना है कि यह होगा "बेनामी" कहें)

किसी भी सलाह/सहायता/सुझावों के लिए अग्रिम धन्यवाद। (सच post.Anon == "बेनामी"?: Post.Post_Desc) @:

+1

'मॉडल।" तालिका "'? –

+2

इसका एक बेवकूफ नाम है और मैं खुद को शर्मिंदा नहीं करना चाहता था :) – Amy

उत्तर

8

आप में सक्षम होना चाहिए की तर्ज पर कुछ करना:

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

हालांकि मैं में सी # इस तर्क के सबसे कर रही है, बल्कि यह देखने के लिए छोड़ रहा है (इसलिए तुलना करने पर विचार करेंगे, पहले से ही किया तर्क के सभी के साथ एक विशेष दृश्य मॉडल बनाने। एम आप eaning कर सकते हैं बस के माध्यम से लूप और किसी भी अतिरिक्त सोच करने की जरूरत नहीं:

@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> 
} 

कहाँ ऊपर के उदाहरण में @ post.Poster पहले से ही गुमनाम साथ पूर्व निर्धारित है अगर यह आवश्यक है।

+0

मैं वास्तव में तर्क में तर्क डालना पसंद नहीं करता, इसलिए मैं आपकी सलाह लेगा, बहुत बहुत धन्यवाद! – Amy

0

इस प्रयास करें:

@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> 
} 

संपादित करें: क्षमा करें, रेखा कहा जाना चाहिए था

+0

यह काम नहीं कर रहा है, लेकिन मैं यह नहीं समझता कि यह क्या करने का प्रयास कर रहा है। आपको बहुत - बहुत धन्यवाद! – Amy

+0

क्यों पोस्ट.ऑन == सच?, आप इसे कम कर सकते हैं: post.Anon? – lahsrah

+0

हां आप कर सकते हैं। बस पोस्ट करें। अर्न पर्याप्त होगा। यह एक व्यक्तिगत पसंद है। मैं पठनीयता के लिए स्पष्ट रूप से == सच रखना चाहता हूं। –

संबंधित मुद्दे