Лучший способ применить форматирование к свойству DateTime в представлении, когда класс не является моделью представления? - PullRequest
0 голосов
/ 01 ноября 2019

Когда класс является моделью представления, кажется, что это способ сделать это:

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

и затем использовать @ Html.DisplayFor () в представлении:

<div>The date is @Html.DisplayFor(model => model.MyDate)</div>

В моем случае я перебираю массив следующим образом:

@foreach(var topic in topics)
    {
    <tr>
        <td><a asp-controller="Topic" asp-action="Index" asp-route-id="@topic.Id">@topic.Subject</a> by @topic.Firstpost.User.UserName (@topic.Firstpost.PostStamp)</td>
        <td class="number">@topic.RepliesCount</td>
        <td class="number">@topic.ViewCount TOPIC TYPE: @topic.GetType()</td>
        <td>by @topic.LastPost.User.UserName (@topic.LastPost.PostStamp)</td>
    </tr>
    }

Класс Topic не является классом модели, поэтому использование @ Html.DisplayFor () не вариант. Какой лучший способ сделать это?

1 Ответ

0 голосов
/ 01 ноября 2019

Вместо этого используйте строку. Формат:

<td>@string.Format("{0:MM/dd/yyyy}", topic.topicDate)</td>
...