Вернуть JsonResult, используя ActionFilter для ActionResult в контроллере

Я хочу вернуть Модель (данные) контроллера в разных форматах (JavaScript / XML / JSON / HTML), используя ActionFilter 's. Вот'где ям на данный момент:

ActionFilter:

public class ResultFormatAttribute : ActionFilterAttribute, IResultFilter
{
    void IResultFilter.OnResultExecuting(ResultExecutingContext context)
    {
        var viewResult = context.Result as ViewResult;

        if (viewResult == null) return;

        context.Result = new JsonResult { Data = viewResult.ViewData.Model };
    }
}

И это 'реализация:

[ResultFormat]
public ActionResult Entries(String format)
{
    var dc = new Models.WeblogDataContext();

    var entries = dc.WeblogEntries.Select(e => e);

    return View(entries);
}

OnResultExecuting Метод вызывается, но я не получаю Модель (данные), возвращенную и отформатированную как объект JSON. Мой контроллер просто отображает вид.





Обновить: Я слежу за предложением Дарина Димитроваответ наэтот вопрос.

Ответы на вопрос(3)

Ваш ответ на вопрос