0

私はMVCアプリケーションを開発しており、かみそりの構文を使用しています。

このアプリケーションでは、コメント機能を提供しています。

現在、コメントは次のようになっています...

P Moris9/15/2012 5:40:44 PM
Test comment 1 


P Moris9/15/2012 5:40:44 PM
Test comment 2 


P moris9/15/2012 5:40:45 PM
Test comment 3

ここで、コメントの所有者の名前と日時の間にスペースを入れたいと思います。同様に、dateTimeをに変換するにはどうすればよいですか?

dd-MMM-yy hh:mm tt?

コメントは次のようになります...

Pモリス2012年9月17日午後5時45分。

テストコメント1

(上記のサンプルでは複数のスペースを指定できません...自動的にスペースが削除されます。)

どうすればいいですか?

ビューの私のコードは

 @foreach (var item in Model)
    {
        <div id="OwnerName">
    
         <span class="EmpName"> @Html.ActionLink(item.Owner.FullName, "Details", "EMployee", new { id = item.OwnerId }, new { @style = "color:#1A6690;" })</span>
         
           @Html.DisplayFor(ModelItem => item.CommentDateTime)
         
        </div>
                       
     
        
        <p class="CommentP">
           @Html.DisplayFor(ModelItem => item.CommentText)
        </p>
        
        <br />
        

    }
4

2 に答える 2

4

&nbsp;コメントの作成者名と作成日の間に入れることができます。

<div id="OwnerName">
    <span class="EmpName">
        @Html.ActionLink(item.Owner.FullName, "Details", "EMployee", new { id = item.OwnerId }, new { @style = "color:#1A6690;" })
   </span>
   &nbsp;
   @Html.DisplayFor(ModelItem => item.CommentDateTime)
</div>

また、コメントの日付をフォーマットするために、ビューモデルのプロパティを次の[DisplayFormat]属性で装飾することができます。

[DisplayFormat(DataFormatString = "{0:dd MMM yyyy hh:mm tt}")]
public DateTime CommentDateTime { get; set; }

また、何らかの理由でビューモデルを使用しておらず、エンティティを変更できない場合は、ビューでフォーマットできます。

<div id="OwnerName">
    <span class="EmpName">
        @Html.ActionLink(item.Owner.FullName, "Details", "EMployee", new { id = item.OwnerId }, new { @style = "color:#1A6690;" })
   </span>
   &nbsp;
   @Model.CommentDateTime.ToString("dd MMM yyyy hh:mm tt")
</div>

別の可能性は、カスタム表示テンプレート(~/Views/Shared/DisplayTemplates/CommentDate.cshtml)を作成することです。

@model DateTime
@Model.ToString("dd MMM yyyy hh:mm tt")

次に、カスタム表示テンプレート名をDisplayForヘルパーに渡します。

@Html.DisplayFor(ModelItem => item.CommentDateTime, "CommentDate")
于 2012-09-17T06:31:57.863 に答える