MVC Razor是否在客户端或服务器端的视图中为模板生成HTML?

时间:2013-09-04 07:39:24

标签: html asp.net-mvc asp.net-mvc-4 razor

我想了解Razor View Engine从我们在视图中创建的模板实际生成HTML的位置。例如,请参阅以下代码段

<ul id="products" >

<% foreach(var p in products) { %>

  <li><%=p.Name%> ($<%=p.Price%>)</li>
<% } %>

</ul>

我想了解生成结果html的处理是在浏览器还是Web服务器上完成。

3 个答案:

答案 0 :(得分:5)

  

我想了解Razor View Engine实际生成的位置   我们在视图中创建的模板中的HTML

它发生在Web服务器上。在Web服务器上完全创建HTML后,此HTML将发送到客户端浏览器。

答案 1 :(得分:1)

在网络服务器上!

浏览器(因此在客户端)只能处理Javascript。 Razor是一个引擎,如aspx,Php等,有助于从模板化视图中动态生成html。

答案 2 :(得分:1)

显然,Razor View Engine将在Web服务器上呈现,就像任何动态Web编程语言一样,如PHP等。考虑一下,如果它是由浏览器或除了Web服务器之外的任何地方呈现,我们将遇到安全问题,方法是检查我们的页面,最后是非连续的Web应用程序。

  

服务器端口(8080(http)或8443(https))仅发送带有相关性的渲染(html)页面   比如* .js和* .css文件。

修改

如果您忽略了Razor View Engine的正确语法,它将出现在@ derivative的页面上。

您还可以在视图中编写脚本并在其中使用Razor语法,它们将根据您的需要正确呈现。