如何在MVC的View中放置空格并更改日期格式?

时间:2012-09-17 06:29:06

标签: asp.net-mvc-3

我正在开发MVC应用程序并使用razor语法。

在这个应用程序中,我正在发表评论工具。

目前评论看起来像......

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 Moris 2012年9月17日下午05:45

     

测试评论1

(我不能在上面的示例中给出多个空格......它会自动删除空格。)

我该怎么办?

我在View中的代码是

 @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 />


    }

2 个答案:

答案 0 :(得分: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>

为了format评论日期,您可以使用[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")

答案 1 :(得分:0)

对于代码下方的空白区域

@{
  @:  &nbsp;&nbsp;
}