ASP.NET MVC3 C# - foreach

Amy*_*Amy 5 c# asp.net foreach razor asp.net-mvc-3

我对如何在我目前的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>
}
Run Code Online (Sandbox Code Playgroud)

使post.Username将不会显示,如果@post.anonTRUE(因此它会说"无名氏")

提前感谢您的任何建议/帮助/建议.

Ama*_*ere 8

你应该能够做一些事情:

@(post.anon ? "Anonymous" : post.Username)
Run Code Online (Sandbox Code Playgroud)

虽然我会考虑在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>
}
Run Code Online (Sandbox Code Playgroud)

如果需要,上面示例中的@ post.Poster已经预设了匿名.