ASP.NET MVC3 C# - foreach

本文关键字:foreach MVC3 NET ASP | 更新日期: 2023-09-27 18:05:20

我对如何在我当前的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.anon是否为TRUE(因此它将显示"匿名")

提前感谢您的意见/帮助/建议

ASP.NET MVC3 C# - foreach

您应该能够按照以下方式执行:

@(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的地方。如果需要,上面例子中的海报已经预设为匿名

试试这个:

@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)。无名氏==真?"Anonymous": post.Post_Desc)