gpt4 book ai didi

asp.net-mvc - 如何使用 ASP.NET MVC 调试查看 Controller 生成的 html?

转载 作者:行者123 更新时间:2023-12-02 20:00:34 25 4
gpt4 key购买 nike

有没有一种方法可以让我在调试时看到 Controller 操作的结果(html、xml、json)。

例如,我的 Controller 中有这个:

    public PartialViewResult Reload()
{
return PartialView("Index");
}

在调试时,我想查看什么 HTML 将发送回客户端。谢谢

最佳答案

浏览器无论如何都会显示结果

为什么你想在 Debug模式下看到它,而你无论如何都可以在浏览器中看到它。无论如何,这就是之后的发展方向。如果 JSON 有问题,请使用 Firefox + Firebug,您将看到所有请求和响应以及所有相关数据和信息。

如果您告诉我们您到底为什么要这样做,我们可能会建议更好的方法来帮助您......

可能的解决方案

在渲染数据时跳转最可能的解决方案是编写自己的 View 引擎。为了让自己更轻松,请继承 RazorViewEngine。这可能会产生更多的类继承(即 RazorView),但它会让您到达实际生成 View 的地步,并且会以有效的方式做到这一点: View 只会渲染一次

但另一方面,我会再次质疑其理由。如果您在生成的 HTML 到达客户端之前就查看它,那有什么意义呢?因为下一刻,相同的数据将发送到客户端,您无需任何代码操作即可观察它,并将自定义代码放入 Asp.net MVC 的扩展点中。

Asp.net MVC 中的中间 View 操作?

Asp.net MVC 中没有这样的东西...

您在下面的评论中提到,在执行诸如 c.Controls.Add() 之类的操作时,在调试期间观察中间 View 的变化,但这不起作用,因为:

  1. Controller 操作不会以任何形状或形式操纵 View ;它只是为他们准备数据并选择哪个 View 将按照他们实现数据的方式处理该数据; 选择部分也可以从 Controller 操作中抽象出来,在这种情况下,它们只需准备数据并将其处理给其他 View 选择工厂;

  2. View 引擎仅使用 ASPX/ASCX/CSHTML 文件作为模板来整体生成 View :

    • Web 表单 View 引擎确实会将这些模板解析为对象层次结构,但如果大部分 View 代码是静态 HTML(它应该是),那么大多数控件将只是文字;

    • Razor View 引擎不像 Web 表单引擎那样使用任何控件层次结构对象模型; Razor View 只是字符串,该引擎逐字符、逐行解析,查找需要插入 View 数据的特殊指令;没有任何控制...

总而言之:没有中间 View 操作。不过,您可以在 View 引擎解析 View 时对其进行调试。只需将断点放在 View 内的指令内即可。

关于asp.net-mvc - 如何使用 ASP.NET MVC 调试查看 Controller 生成的 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com