直接从控制器中获取ActionResult的结果

时间:2011-05-11 08:28:36

标签: asp.net-mvc jsonresult

我希望能够得到ActionResult将直接在我的控制器中生成以进行调试的结果。我该怎么做?

类似的东西:

public ActionResult Parts(string id)
{
    var parts = _repository.GetParts(id);
    var action = Json(parts);

    var generatedJson = XXXXX;

    return action;
}

4 个答案:

答案 0 :(得分:3)

出于调试目的,您肯定希望使用调试工具,例如FireBugFiddler,但如果您在调试模式下坚持污染修改源代码,则可以看一下JavaScriptSerializer类(JsonResult类在内部使用):

var generatedJson = new JavaScriptSerializer().Serialize(parts);

答案 1 :(得分:0)

由于您要返回Json,我假设您要查看结果,您可以在FireFox中使用json查看器插件jsonview。至少我是这样做的。

如果是出于其他原因,请说明您想要做的事情。

答案 2 :(得分:0)

对结果调用ExecuteResult。

但是如果你想检查它返回的json,请使用浏览器调试工具和一些json viewer附加组件。

答案 3 :(得分:0)

您也可以使用类似NLog的东西并将其绑定到global.asax中的ILogger。此后,您可以暂时将任何与json相关的控制器操作发送到日志文件中以供日后检查。

另一种方法是使用actionfilter并修饰您想要捕获的动作(这些动作可以保存在日志文件或其他可视化渲染设备中)。这里有一个很好的例子,你可以在这里适应你的目的:

http://binary-studio.com/blog/technical-blog/asp-net-mvc-custom-action-filters/

希望这会有所帮助..