我希望能够得到ActionResult
将直接在我的控制器中生成以进行调试的结果。我该怎么做?
类似的东西:
public ActionResult Parts(string id)
{
var parts = _repository.GetParts(id);
var action = Json(parts);
var generatedJson = XXXXX;
return action;
}
答案 0 :(得分:3)
出于调试目的,您肯定希望使用调试工具,例如FireBug或Fiddler,但如果您在调试模式下坚持污染修改源代码,则可以看一下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/
希望这会有所帮助..