Asp.net mvc 直接从控制器中的ActionResult获取结果

Asp.net mvc 直接从控制器中的ActionResult获取结果,asp.net-mvc,jsonresult,Asp.net Mvc,Jsonresult,我希望能够获得ActionResult将直接在我的控制器中生成的结果,以便进行调试。我该怎么做 比如: public ActionResult Parts(string id) { var parts = _repository.GetParts(id); var action = Json(parts); var generatedJson = XXXXX; return action; } 由于您返回的是Json,我假设您希望查看结果,因此可以在Fire

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

比如:

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

    var generatedJson = XXXXX;

    return action;
}

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


如果是出于其他原因,请明确说明您要执行的操作。

对结果调用ExecuteSult


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

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

另一种方法是使用actionfilter并修饰要捕获的动作(这些动作可以保存在日志文件或其他视觉渲染设备中)。这里有一个很好的例子,您可以根据自己的目的进行调整:


希望这有帮助。

出于调试目的,您肯定希望使用诸如或之类的调试工具,但是如果您坚持在调试模式下修改源代码,您可以查看该类(该类在内部使用):


不。我想在Controllert中将json作为字符串获取。由于您不知道我如何/为什么需要它,或者我的代码总体上看起来如何,因此不需要注释。@jgauffin,这是正确的,也是在问题中提到它的一个很好的理由。这本可以避免这样的评论,甚至可以为你的场景提出一个不同的、更合适的答案。我觉得这根本不相关。我的问题很具体,这就足够了。如果我想要其他选择,我会提出不同的要求。如果您想通知新用户所需的解决方案可能不正确,我会理解。
var generatedJson = new JavaScriptSerializer().Serialize(parts);