2017-11-10 13 views
0

私は質問を編集してより明確にしました。MVCコア - 静的メソッドから値をビューに取得

複数の広告がカテゴリ別にリストされた広告リストページがあります。現在、その他の情報とともに、正確なDateTime広告がウェブサイトに送信されました。

今、ウェブサイトに掲載されている時間数または日数または週数も表示したいと考えています。

例:あなたはStackOverflowのつまりに掲載各コメントの最後に見るものと同様

Ad was posted 2 days ago 
Ad was posted 1 week ago etc 

– Stephen Muecke 5 hours ago 
– Jilani pasha 4 hours ago 
- Stephen Muecke 36 mins ago 

私はすでに日時を掲示広告を取る方法を書かれているし、時間または日または週を返します。

私が知りたいのは、私の見解からそのメソッドに値(広告掲載日)を呼び出して渡す方法です。 またはこれを達成する最良の方法は何ですか?

+0

あなたの缶は、あなたはしないでください。コントローラでそれを行い、ビューモデルを介して計算された値をビューに渡します。 –

+0

@Stephen Mueckeどのように私たちは、ビューで自分自身で時間をリフレッシュするために実装することができます...我々はstackoverflowで見るように.... –

+0

あなたは_asked 42分ago_更新方法を意味する? - それはちょうどjavascript(タイマーイベントで)を使用しています –

答えて

0

あなたは、静的HtmlHelperの機能を使用することができます。

によってビューに呼び出され
public static class HtmlHelperExtensions 
{ 
    public static MvcHtmlString GetAddedDate<TModel, TValue>(this HtmlHelper<TModel> html, DateTime creationDate) 
    { 
     var str = YourFunction(creationDate); 
     return new MvcHtmlString(str); 
    } 
} 

@Html.GetAddedDate(Model.CreationDate)

それとも、のようなあなたのViewModel /モデルにメソッドを追加することができます。

呼び出さ
public class MyAd { 
    public int Id; 
    public DateTime CreationDate; 
    public string GetCreationDate() { 
     return YourFunction(CreationDate); 
    } 
} 

閲覧者:

@foreach(var model in Model) { 
    <text>@model.GetCreationDate();</text> 
} 
関連する問題