0

私は自分のデータベースに日付フィールドを持っています。私がしたいのは、現在の日付と製品の作成日(データベースにある)の日付の違いを見つけることです。たとえば、製品の日付が 2012 年 8 月 22 日で、現在の日付が 2011 年 7 月 15 日であるため、差が 38 日ある場合、差を一度計算した後、ロジックをチェックし、それに応じてアクション リンクを表示する必要があります。

ロジックは固定されており、単純です。

If(dateDifference > 5 )
{ show Actionfilter } 
else
{
hide Actionfilter}

ビューのアクション フィルター

<p>    <%= Html.ActionLink("Pay by Cheque", "PayByChecque", "Booking", null, new { id = "paycheque", @class ="test"  })%></p>

任意のヘルプや提案をいただければ幸いです。

私はコントローラーで計算を行い、ビューバッグを介してjqueryに渡すことを考えていました:

$('#paycheque').hide();
$('Viewbag.difference').value > 5{

$("#showdiv").show();
else
$("#showdiv").hide();

});

しかし、私は違いを計算するのに苦労しています

4

2 に答える 2

3

あなたのビューは、計算を行う責任を負うべきではありません。

通常、コントローラーはデータベースからモデルをロードし、そのモデルを使用して適切な ViewModel オブジェクト (上記のように) を設定します。このオブジェクトは、ビューが必要とする形式にデータを「整形」する役割を果たします。

次の行に沿って何かを試してください:-

MyViewModel.cs:-

public class MyViewModel
{
  public DateTime FirstDate { get; set; }
  public DateTime SecondDate { get; set; }

  public bool SheIsIntoYou
  {
    return SecondDate.Subtract(FirstDate).Days < 5
  }
}

そして、あなたのビュー(MyViewModelで強く型付けされています):-

<% if (Model.SheIsIntoYou) { %>
  <%: Html.ActionLink("Ask out again", "MyController", "MyAction") %>
<% } %>
于 2011-07-15T16:53:25.860 に答える
1

C# を使用して日数の差を計算する

ビューで使用できます

<% if(Model.XXX > 5) { %>

   <!-- display --> 
   <p>
     <%= Html.ActionLink("Pay by Cheque", "PayByChecque", "Booking", null, new { id = "paycheque", @class ="test"  })%>
   </p>

<% } %>

モデルは View-Source の最初の行で定義されます。モデルでは、違いを保持するフィールドを定義します。

ビューに計算させないでください。

于 2011-07-15T16:37:00.737 に答える