簡體   English   中英

如何獲取MVC模型屬性以返回Date而不是DateTime?

[英]How to get MVC model property to return a Date instead of DateTime?

我有一個具有DateTime屬性的數據庫模型。 但是,此屬性實際上是一個日期。 在客戶端上進行排序/篩選時,多余的時間導致了問題。 許多表/客戶端組件都有此問題。

我希望可以在模型級別解決此問題,並且僅在進行以下修改后才能訪問Date部分。

private DateTime invoiceDate;
[Required]
public DateTime InvoiceDate { get => invoiceDate.Date; set =>invoiceDate = value; }

但是,這似乎不起作用。 這樣的事情可能嗎?

編輯:我發現C#允許模型上更具體的數據類型規范-https: //docs.microsoft.com/zh-cn/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/為ASP.NET MVC應用程序創建一個更復雜的數據模型

    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    public DateTime EnrollmentDate { get; set; }

但是,當我點擊我的API時,仍會獲得完整的數據庫信息

  "InvoiceDate": "2019-06-14T00:00:00-07:00"

C#為什么不使用提供的額外規范來解決此問題?

編輯:

我還發現了這個有用的線程該線程建議向該屬性添加JSON轉換器,但這也不能解決問題。 時間仍在發送。

您可以對您的媒體資源使用“與排除Bind

[Bind(Exclude="InvoiceDate")]
    public class YourModel{

    }

我最終通過OData請求修改使它起作用。 我必須編輯字符串以將屬性包裝在data(prop) ,然后必須編輯值以從javascript的DateTime.ToString yyyy-MM-dd刪除時間

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM