我刚刚开始使用Auto Mapper,它很棒:)
但是我遇到了以下情况的麻烦。我需要将一个值从我的控制器(使用asp.net mvc)传递给自定义解析器或格式化程序。我的控制器接收一个字符串标签&#34; Day&#34;,&#34; Week&#34;,&#34; Month&#34;等...用于获取过滤的任务范围。< / p>
如何将此值传递给我的解析器?
谢谢!
/// <summary>
/// Ajax Method for filtering tasks by Date Range
/// </summary>
/// <param name="dateFilter">The date filter label ["Day", "Week", "Month", "All", "Last 30 Days"]</param>
/// <returns>List of task objects</returns>
[HttpGet]
public JsonResult GetTasksByDateRange(DateFilters dateFilter)
{
List<Task> tasks = taskService.GetFilteredTasksByDate(dateFilter, "chobojunk@gmail.com");
List<TaskTableViewModel> viewModelList = Mapper.Map<List<Task>, List<TaskTableViewModel>>(tasks);
return Json(viewModelList, JsonRequestBehavior.AllowGet);
}
//在RegisterMaps文件中
Mapper.CreateMap<Task, TaskTableViewModel>().ForMember(dest => dest.DueDate, opt => opt.AddFormatter<DueDateFormatter>());
答案 0 :(得分:0)
我能想到的唯一方法就是通过DI / IoC容器。使用解析器参数创建上下文对象,将其注入解析器,并在执行映射器之前从控制器更新它。