2011-08-20 32 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頁面,這是每次發送的內容。 –

相關問題