3
在我的MVC 2應用程序中,我有一個調用Web服務的典型方法,構建一個JSON數據對象並將其返回給視圖。如何使用Automapper將poco映射到JSON
一切工作正常,但我想知道是否有辦法用Automapper做映射,所以我可以從我的控制器中刪除醜陋的代碼。在此先感謝
這裏是我的行動方法
public virtual ActionResult AllErrors(string sidx, string sord,
int page=1, int rows=10)
{
var pageSize = rows;
var pageNumber = page;
var orderBy = string.Format("{0} {1}", sidx, sord);
var result = errorService.GetPagedOpenErrors(pageSize, page, orderBy);
var errors = new List<IngestionErrorDataContract>(result.IngestionErrors);
var totalPages = (int) Math.Ceiling(result.TotalRows/(float) pageSize);
int index = 0;
var list = new List<object>();
errors.ForEach(e => list.Add(
new {
i = index++,
cell = new[]
{
e.IngestionErrorId.ToString(),
e.RunId.ToString(),
e.ProcessDate.ToShortDateString(),
e.Status,
e.ErrorDetails
}
}));
var jsonData = new
{
total = totalPages,
page = pageNumber,
records = result.TotalRows,
rows = list.ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
提取映射代碼放到一個單獨的類和ü可能最終的東西一般 – Omu 2010-10-13 20:52:05