не может правильно форматировать данные и время в ядре сети
Я - знающий человек, так что извините за вопрос, если он покажется тупым, я создал небольшое веб-приложение по следующему https://wireme.co.uk/BookList, но я не могу правильно отобразить дату, не уверен, что я делаю неправильно, посмотрите мой код ниже:
using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
namespace BookListRazor.Model
{
public class Book
{
[Key]
public int PO { get; set; }
[Required]
public string Creator { get; set; }
[Required]
public string Company { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy")]
public DateTime Date { get { return Mydate; } set { Mydate = value; } }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy")]
public DateTime Mydate = DateAndTime.Now;
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy")]
public DateTime MyDate { get; set; }
}
}
1 ответ
Вы можете использовать строку для ее отображения:
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public string MyDate { get; set; }
Вы можете преобразовать DateTime в строку с помощью конструктора класса Book:
public Book()
{
this.MyDate = Mydate.ToString();
}
Я бы также изменил DateAndTime на DateTime, если вы объявляете с помощью С #:
public DateTime Mydate = DateTime.Now;
ИЛИ
Что бы я сделал, так это уменьшил бы количество объектов недвижимости. Если я правильно понимаю, чего вы хотите добиться, этого должно быть достаточно:
public class Book
{
[Key]
public int PO { get; set; }
[Required]
public string Creator { get; set; }
[Required]
public string Company { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public string MyDate { get { return DateTime.Now.ToString(); } set { } }
}