2011-02-06 4 views
0

で自動マッパーに値を渡すために、私はちょうど自動マッパーを使用して開始し、それは素晴らしいです:)どのように実行時

しかし私は、次のシナリオでいくつかのトラブルに実行しました。私は自分のコントローラから(asp.net mvcを使って)カスタムリゾルバまたはフォーマッタに値を渡す必要があります。私のコントローラは、フィルタリングされた範囲のタスクを取得するために使用される "Day"、 "Week"、 "Month"などの文字列ラベルを取ります。

この値をリゾルバに渡すにはどうすればよいですか?

ありがとうございます! RegisterMapsで

/// <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, "[email protected]"); 

     List<TaskTableViewModel> viewModelList = Mapper.Map<List<Task>, List<TaskTableViewModel>>(tasks); 

     return Json(viewModelList, JsonRequestBehavior.AllowGet); 
    } 

//これを行うには、私は考えることができる

 Mapper.CreateMap<Task, TaskTableViewModel>().ForMember(dest => dest.DueDate, opt => opt.AddFormatter<DueDateFormatter>()); 

答えて

0

唯一の方法は、DI/IoCコンテナ経由でファイル。マッパーを実行する前に、リゾルバパラメータでコンテキストオブジェクトを作成し、それをリゾルバに注入し、コントローラから更新します。

関連する問題