2017-08-03 3 views
0

私は、定義されたprとしてpaginationを使用している.Net Core MVCプロジェクトを持っています。マイクロソフトの文書綿棒/ UNIXタイムスタンプ(ms)から綿棒ビューのDatetimeへ

私のデータベースのタイムスタンプはEpochであるため、タイムスタンプをdatetimeオブジェクトに変換する必要があります。タイムスタンプは、私のRazor Viewのテーブルに使用されているためです。

public partial class Tripmetadata 
{ 
    public Tripmetadata() 
    { 
    } 

    [Key] 
    public int Tripid { get; set; } 

    [Display(Name = "Start Timestamp")] 
    public long? Starttimestamp { get; set; } 

    [Display(Name = "End Timestamp")] 
    public long? Endtimestamp { get; set; } 

    public long? Duration { get; set; } 

    [Display(Name = "Average Speed")] 
    public decimal? AvgSpeed { get; set; } 

    public decimal? Distance { get; set; } 
} 

は、私が以前にこのの世話をするためにViewModelにに使用されるが、PRとして、次のように

@model PaginatedList<MSPFrontend.Tripmetadata> 
<div class="table-responsive"> 
    <table class="table table-bordered table-condensed table-hover table-striped"> 
     <thead> 
      <tr> 
       <th>Trip Id</th> 
       <th>Start Time</th> 
       <th>End Time</th> 
       <th>Duration</th> 
       <th>Avg Speed</th> 
       <th>Distance</th> 
      </tr> 
     </thead> 
     <tbody> 
      @foreach (var item in Model) 
      { 
       <tr class="trip" data-id="@item.Tripid" data-url="@Url.Action("TripMapping", "Trip")"> 
        <td>@item.Tripid</td> 
        <td>@item.Starttimestamp</td> 
        <td>@item.Endtimestamp</td> 
        <td>@item.Duration</td> 
        <td>@item.AvgSpeed knots</td> 
        <td>@item.Distance km</td> 
       </tr> 
      } 
     </tbody> 
    </table> 
</div> 

私のモデルが見えます:表には、次のように作成されます。 Microsoft Paginationドキュメントでは、ページネーションをスクロールするときにデータを要求するため、モデルを使用する必要があります。

私はそれのような何かを行うことは可能だろうと思った:

<td>@new DateTime(1970, 1, 1, 0, 0, 0).AddMilliseconds(@Convert.ToDouble(@item.Starttimestamp))</td> 

しかし、私はしようとしたとき、私は、次を得る:

jquery.js:9566 GET http://localhost:1048/Trip/TripTable 500 (Internal Server Error) 

答えて

0

私は実際には本当に簡単だった私の解決策を見つけることができました。

私の内部@foreach(var item in Model)私は自分のコンバージョンを行うことができますが、それを行う最良の方法ではないかもしれません。

私は、私の見解では、以下を持つことになった:

<div class="table-responsive"> 
    <table class="table table-bordered table-condensed table-hover table-striped"> 
     <thead> 
      <tr> 
       @{ 
        var headerItem = Model[1]; 
       } 
       <th>@Html.DisplayNameFor(modelItem => headerItem.Tripid)</th> 
       <th>@Html.DisplayNameFor(modelItem => headerItem.Starttimestamp)</th> 
       <th>@Html.DisplayNameFor(modelItem => headerItem.Endtimestamp)</th> 
       <th>@Html.DisplayNameFor(modelItem => headerItem.Duration)</th> 
       <th>@Html.DisplayNameFor(modelItem => headerItem.AvgSpeed)</th> 
       <th>@Html.DisplayNameFor(modelItem => headerItem.Distance)</th> 
      </tr> 
     </thead> 
     <tbody> 
      @foreach(var item in Model) 
      { 
       var startTime = new DateTime(1970, 1, 1, 0, 0, 0).AddMilliseconds(Convert.ToDouble(@item.Starttimestamp)); 
       var endTime = new DateTime(1970, 1, 1, 0, 0, 0).AddMilliseconds(Convert.ToDouble(@item.Endtimestamp)); 
       double diff = Convert.ToDouble(item.Endtimestamp) - Convert.ToDouble(item.Starttimestamp); 
       var duration = TimeSpan.FromMilliseconds(diff); 
       var avgSpeed = Math.Truncate(100 * Convert.ToDecimal(item.AvgSpeed))/100; 
       var distance = Math.Truncate(100 * Convert.ToDecimal(item.Distance))/100; 
       <tr class="trip" data-id="@item.Tripid" data-url="@Url.Action("TripMapping", "Trip")"> 
        <td>@item.Tripid</td> 
        <td>@startTime</td> 
        <td>@endTime</td> 
        <td>@duration</td> 
        <td>@avgSpeed knots</td> 
        <td>@distance km</td> 
       </tr> 
      } 
     </tbody> 
    </table> 
</div> 

私tabelヘッダーの下の部分は私が私のモデルで私のヘッダーを定義することが許さものです。以下のように:

public partial class Tripmetadata 
{ 
    public Tripmetadata() 
    { 
    } 

    [Key] 
    [Display(Name = "Trip ID")] 
    public int Tripid { get; set; } 

    [Display(Name = "Start Timestamp")] 
    public long? Starttimestamp { get; set; } 

    [Display(Name = "End Timestamp")] 
    public long? Endtimestamp { get; set; } 

    [Display(Name = "Duration")] 
    public long? Duration { get; set; } 

    [Display(Name = "Average Speed")] 
    public decimal? AvgSpeed { get; set; } 

    [Display(Name = "Distance")] 
    public decimal? Distance { get; set; } 

} 
関連する問題