![](/img/trans.png)
[英]ReSharper formatting: disable remove spaces for anonymous object creation
[英]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.