簡體   English   中英

ASP.NET MVC3 C# - foreach

[英]ASP.NET MVC3 C# - foreach

我對如何在當前的 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 ? "Anonymous" : post.Username)

雖然我會考慮在 C# 中執行大部分此邏輯,而不是將其留給視圖(因此,創建一個特定視圖 model 並完成所有邏輯。這意味着您可以循環遍歷而不必做任何額外的思考:

@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 已經預設為匿名。

嘗試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM