2011-08-20 68 views
0

下面的语句正确吗? (约_Layout.cshtml使用剃刀视图引擎)
布局中的每个代码将被分为2种类型:
- 静态代码,如<div>...</div>,它只是第一次加载并做Post Post或PostBack。 - 动态代码,如@ViewBag.Title=...,它总是必须计算并发布并回发给客户端。可以在布局中第一次加载的代码?

,如果你的回答是“是”我的第二个问题是:
有编写接受在运行时第一时间的值,但不改变它,也不需要将其发布到动态代码的方式每当用户点击一个新页面时客户端?

回答

0

每个Razor页面(无论它是包含静态代码还是动态代码)在运行时由Razor视图引擎动态评估并转换为发送给客户端的静态HTML。一旦控制器动作完成并返回一些视图,就会进行评估。这样总结:

  1. 一个HTTP客户机请求命中web服务器
  2. 路由引擎解析控制器动作的应处置它
  3. 动作执行和选择要呈现的剃刀视图传递给它的图模型
  4. 视图引擎评估Razor视图并将其转换为发送给客户端的纯静态HTML。

至于你关于帖子和回发的问题,我真的没有看到任何关系。

+0

你是否告诉我:所有的布局都会在每次打电话给客户时发布。我认为只有RenderSections会在客户端发布和布局保持不变(以减少数据流量) – Rzassar

+1

@Rzassar,整个HTML被发送到客户端。没有像浏览器可以理解的布局或部分这样的概念。浏览器可以理解整个HTML页面,这是每次发送的内容。 –

相关问题