簡體   English   中英

匿名對象中集合的格式化日期

[英]Formatting Date of a collection in an Anonymous Object

我有一個業務層,該業務層返回一個匿名對象,該對象包含具有日期的行的集合。 我想獲取日期的區域格式,但是我不想將區域設置傳遞到業務層,而是將格式保留在MVC網站的Controller Action中。

商業層:

public object GetItems(int catID)
{
 var data = GetDbItems(catId).ToList();
 var Items = new 
         {
            total = data.Count(),
            page = 1,
            rows = (from c in data
                    select new {
                       ID = c.id,
                       Desc = c.desc,
                       CreationDate = c.CreationDate
                    })
         };

 return Items;
}

回到控制器的“操作方法”中,我想設置匿名類型內部集合中的日期格式。 我怎樣才能做到這一點?

public JsonResult GetItems(int catID)
{
 string cultureString = HttpContext.Request.UserLanguages.FirstOrDefault();
 DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture(cultureString).DateTimeFormat;
 var items = bizLayer.GetItems(catID);
 var test = from i in items
       select i.rows;  // ????  doesn't know about this collection yet.
 }

我想做的事。

獲取匿名類型的行集合,找到日期列並使用

CreateDate = c.CreateDate.ToString("d", dtfi)

我有一個業務層返回一個匿名對象

這可能是第一件事,需要修復,並使用強類型模型替換該匿名對象,這將大大簡化此域模型到視圖模型的映射,以便執行所需的格式設置。

你不能 您需要制作一個與匿名對象具有相同屬性的具體類,然后傳回YourNewClass而不是object

為什么業務層返回匿名對象肯定是模糊的,您應該首先解決該問題。 但是,如果您無法獲得最佳的拍攝效果,那就是將每個元素解析為DateTime。 然后在其余行中重復使用該信息。

暫無
暫無

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

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