2017-01-12 12 views
0

私は今後のイベントを表示している私のウェブサイト用のセクションを作成していますが、今日よりも大きな日付を持つイベント(本質的にdivだけ)を表示させたいと考えています。私はそのようなことをどうやって行うのか分かりません。ここでMVC5 Foreach日付に基づいて表示/非表示

は私の部分図であるコード:

  <div class="container"> 
     <h1 class="text-center">Upcoming Events and Training</h1> 
     <div class="row" style="width: 70%; margin: 0 auto;"> 
      @if (Model.CDSContent != null) 
      { 
       foreach (var item in Model.CDSContent) 
       { 
        <div class="col-md-12" style="border: 1px solid #dfdfdf; height: 100px; background-color: #f5f5f5; padding: 20px;"> 
         <div class="row" style="height:100%;"> 
          <div class="col-md-3 col-xs-12" style="height: 100px; font-size: 1.5em; padding-top: 15px;">@Html.Raw(item["eventsdate"])</div> 
          <div class="col-md-9 col-xs-12"><a href="@Html.Raw(item["eventsattachment"])" target="_blank"> 
           <h3>@Html.Raw(item["eventstitle"])</h3> 
           <p>Click here to find out more.</p> 
           </a></div> 
         </div> 
        </div> 
       } 
      } 
      </div> 
     </div> 

任意のアイデアやヘルプをいただければ幸いです。

+0

あなたが問題を解決するのに役立ちましたら、回答を回答としてマークしないでください:) – JTech

答えて

0

1つの非常に単純化したアプローチはDateTime.Compare方法See MSDN Documentation here

項目[「eventsdate」]オブジェクトがDateTime型であると仮定すると、といくつかの条件付きレイザーレンダリングを利用することで、あなたはこれを行うことができます。

<div class="container"> 
    <h1 class="text-center">Upcoming Events and Training</h1> 
    <div class="row" style="width: 70%; margin: 0 auto;"> 
     @if (Model.CDSContent != null) 
     { 
      foreach (var item in Model.CDSContent) 
      { 
       @if(DateTime.Compare(item["eventsdate"], DateTime.Now) > 0) 
       { 
       <div class="col-md-12" style="border: 1px solid #dfdfdf; height: 100px; background-color: #f5f5f5; padding: 20px;"> 
        <div class="row" style="height:100%;"> 
         <div class="col-md-3 col-xs-12" style="height: 100px; font-size: 1.5em; padding-top: 15px;">@Html.Raw(item["eventsdate"])</div> 
         <div class="col-md-9 col-xs-12"><a href="@Html.Raw(item["eventsattachment"])" target="_blank"> 
          <h3>@Html.Raw(item["eventstitle"])</h3> 
          <p>Click here to find out more.</p> 
          </a></div> 
        </div> 
       </div> 
       } 
      } 
     } 
     </div> 
    </div> 
+0

ありがとうございます。私は自分のアイテムを推測しているだけの問題は、正しいタイプではないので動作しません。 Visual Studioのエラーメッセージが表示されます。 "System.DateTime.Compare(System.DateTime、System.DateTime)の最適オーバーロードされたメソッドの一致には無効な引数がいくつかあります" – Walshy

+0

さて、あなたは実際にどのタイプを扱っているのかを知る必要があります。アプリケーションをデバッグし、DateTime.Compare行にブレークポイントを設定し、そこから型を決定することができます。たとえば、文字列の場合は、それをDateTime型に変換できます。 [こちらのドキュメントはこちら](https://msdn.microsoft.com/en-us/library/cc165448.aspx) – JTech

関連する問題