ASP.NET MVC3 C # - foreach - PullRequest
       25

ASP.NET MVC3 C # - foreach

5 голосов
/ 10 августа 2011

Я не совсем понимаю, как реализовать следующее в моем текущем 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 (и поэтому будет«Аноним»)

Заранее благодарим за любые советы / помощь / предложения.

Ответы [ 2 ]

8 голосов
/ 10 августа 2011

Вы должны быть в состоянии сделать что-то вроде:

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

Хотя я хотел бы рассмотреть возможность выполнения большей части этой логики в C #, а не оставлять ее на усмотрение (следовательно, создание конкретной модели представления со всей уже сделанной логикой. Это означает, что вы можете просто проходить циклом и не делать любое дополнительное мышление:

@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 голосов
/ 10 августа 2011

Попробуйте:

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

РЕДАКТИРОВАТЬ: Извините, строка должна была сказать: @ (post.Anon == true? "Anonymous": post.Post_Desc)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...