1

以下のコードでは、時間フォーム DB をフェッチし、モデルを介してビューに表示しています。

 <div class="comment_time">@item.dTime</div> 

ユーザーフレンドリーな方法で DateTime を表示したい。したがって、プロジェクトに関数を保持して変換を行う場合、.cshtml でこれを呼び出して表示するにはどうすればよいですか。

私のシナリオでは、注釈を使用して2番目に回答します

foreach (var item in Model.lstCommet)
   {
 <div class="comment_body">@item.comments</div> 
  <div class="comment_time">@item.dTime</div>
    }

displayforあなたの答えに従って、lstcommentリスト内でどのように使用しますか?

ありがとう

4

2 に答える 2

5
<div class="comment_time">@item.dTime.ToString("dd/MM/yyyy")</div> 

ビューでカスタム関数を呼び出す場合、それらの関数には ASP.NET MVC で名前が付けられます。それらは html ヘルパーと呼ばれます。したがって、カスタム html ヘルパーを作成できます。

public static class HtmlHelperExtensions
{
    public static IHtmlString MyFunction(this HtmlHelper html, DateTime value)
    {
        return new HtmlString(value.ToString("dd/MM/yyyy"));
    }
}

そしてあなたのビューの中で:

<div class="comment_time">@Html.MyFunction(item.dTime)</div> 

さらに別の可能性は、[DisplayFormat]属性を使用してビュー モデルのプロパティを単純に装飾することです。

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]]
public DateTime dTime { get; set; }

ビュー内でDisplayForヘルパーを使用します。

@Html.DisplayFor(x => x.dTime)
于 2013-02-26T09:08:03.460 に答える
0

なぜ電話しないの.ToString()ですか?必要な形式で渡すことができます。

于 2013-02-26T09:08:47.640 に答える