繁体   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