Как отобразить дату в формате дд / мм / гггг в представлении в Asp.net MVC3 - PullRequest
4 голосов
/ 12 декабря 2011

Код контроллера

  int No= Convert.ToInt32(reqCookies["NO"].ToString());  
  Student stud = db.Students.Single(n => n.No == No);
  return View(stud);      

Я передаю Нет после входа пользователя в систему и хочу, чтобы отображалась запись о том, кто вошел в систему, что я успешно выполнил. Моя проблемаснова с датой. Когда отображается запись пользователя, вошедшего в систему, отображается дата рождения вместе со временем. Как это 2/19/2001 12:00:00 AM вместо этого я хочу только часть даты, а не время, подобное этому 19/2/2001 .Чтобы добиться этого, я попытался преобразовать дату в формат дд / мм / гггг

DateTime DOB=stud.DOB.tostring("dd/MM/yyyy");

Ошибка при получении: Нет перегрузки для метода 'ToString ()' занимает 1 аргумент

Код в моем представлении выглядит следующим образом:

<td>@Html.DisplayFor(model => model.DOB.ToString())</td>

И когда я пытаюсь изменить формат в представлении

<td>@Html.DisplayFor(model => model.DOB.ToString("dd/MM/yyyy"))</td>

Ошибка при получении: Нет перегрузки для метода«ToString ()» занимает 1 аргумент

Где я могу выполнить преобразование и как урезать время, в течение которого отображается часть.

1 Ответ

5 голосов
/ 12 декабря 2011

Вы можете использовать DisplayFormat в модели для форматирования даты:

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

А затем в представлении:

<td>@Html.DisplayFor(model => model.DOB)</td>

Обновление:

В качестве альтернативы, поскольку DisplayFor () будет просто выводить дату без каких-либо тегов, вы можете просто отобразить дату без использования шаблонных помощников:

@Model.myDate.ToString("dd/MM/yyyy")

Или для отображения в текстовом поле, которое вы можете использовать:

@Html.TextBox("Date", Model.myDate.ToString("dd/MM/yyyy"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...