2

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

就像是:

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

    var generatedJson = XXXXX;

    return action;
}
4

4 回答 4

3

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

var generatedJson = new JavaScriptSerializer().Serialize(parts);
于 2011-05-11T13:43:40.220 回答
0

对结果调用 ExecuteResult。

但是,如果您想检查它返回的 json,请使用浏览器调试工具以及一些 json 查看器插件。

于 2011-05-11T08:45:39.307 回答
0

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

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

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

希望这可以帮助..

于 2011-05-11T09:06:58.303 回答
0

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

如果是出于其他原因,请具体说明您想要做什么。

于 2011-05-11T08:32:44.530 回答