【问题标题】:How does returning a text from controller without a view show it in browser?如何从没有视图的控制器返回文本在浏览器中显示?
【发布时间】:2015-06-18 23:23:35
【问题描述】:

这可能是一个非常愚蠢的问题,但我只是好奇,我相信我最终会知道更多关于发生了什么的事情。

在典型的 .NET MVC 网站中,如果您创建一个没有任何视图的控制器并从 Index() 函数返回一个字符串,该字符串将显示在浏览器中。

那么,没有视图,这是怎么发生的呢?

我的理解是服务器返回一个字符串,浏览器只是显示它。就如此容易。那么这意味着浏览器会创建 HTML 以包含文本吗? 我觉得我在这里遗漏了一些网络的核心概念。

希望能提供一些细节。

【问题讨论】:

  • 视图只不过是一个蓝图,它会生成 HTML,您传递给视图的数据将被集成到其中。之后,将 HTML 返回给客户端。重要的是要意识到 HTML 实际上只是带有一些特殊关键字的纯文本,然后由浏览器解析。浏览器也可以显示纯文本没有这些关键字,只是看起来很丑。从控制器返回一个简单的字符串就是一个例子。

标签: .net asp.net-mvc-4 web


【解决方案1】:

浏览器可以读取文本、html、jpeg、xml、json、pdf 和许多其他格式。它们不是 html 独有的。

当您返回一个字符串时,MVC 实际上正在做的是将该响应直接写入返回缓冲区(也称为响应正文)并将内容类型设置为纯文本(我认为?)。

浏览器只显示服务器提供的服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    相关资源
    最近更新 更多