mvc 控制器,視圖,Razor 語法

mvc 控制器controller:響應用戶請求,並修改模型model;輸入數據的處理,輸出view數據的提供;html

url入控制器的方法有關聯;MVC提供的是方法調用結果;jquery

 mvc model:是對應用狀態和業務功能的封裝,接受controller 的請求並完成相應的業務處理,在狀態改變時通知VIEW。web

 

MVC視圖:向用戶提供用戶界面。面試

               1〉檢查控制器提供的模型對象;數據庫

               2〉將內容轉換爲HTML格式。(也能夠轉換成其餘格式的內容)設計模式

視圖的方法:@ViewBag.Message瀏覽器

 ViewBag是ViewData的動態封裝類,ViewData["currenttime"]等同於ViewBga.currenttime緩存

ViewData["currenttime"]=DateTime.Now安全

ViewBga.currenttime=DateTime.Now服務器

var albums=new List<Album>();

albums.add(new Albums{Title="Product"+i});

 

_viewstart.cshtml,第一個運行的視圖;

 

部分視圖:不能指定視圖;

視圖:獲取控制器傳遞的數據,並生成格式化的輸出,一般是HTML格式;

 

瀏覽器不能直接指向視圖;視圖自己不會被直接訪問;視圖被控制器渲染,控制器提供視圖渲染的數據;

 

Razor 語法:

    razor:<span>@model.message</span>

    web forms:<span><%:model.message%></span>

 

    razor:<span>ISBN@(isbn)</span>

    web forms:<span>ISBN<%:isbn %></span>

 

    razor:<span>@Html.Raw(model.message)</span>

    web forms:<span>Html.Raw<model.message></span>

 

    razor:@{

                int x =123;

             }

   webforms:<%

                int x =123;

                %>

 

   文本和標記相結合:

       <span>itme@item.name</span>

 

   轉以代碼:razor:@@

   註釋:razor:@*abc  *@

           webforms:<%-- abc --%>

 

   調用方法:razor:@(html.method())

                  webforms:<%: html.method()%>

 

 

初級:

  • 對 C#(推薦) 或 VB 語言直至與 .NET 4 (目前爲止)相匹配的版本,絕大多數特性熟悉並使用過
  • 通曉 HTTP 協議的結構,及 http://ASP.NET 與 HTTP 請求、Web 頁面之間的關係
  • 能獨立運用 HTML 構建頁面,並掌握必定的 JavaScript、CSS 知識
  • 能獨立開發具備業務功能的 Web Form 或 MVC 應用程序
  • 能完成到本地 IIS 和服務器上的發佈,有 Web 安全意識



中級:

  • 熟練使用 .NET 4 及更新版本的特性,知曉不一樣大版本之間的差別,以及各版本平臺、語言和開發工具的對應關係
  • 使用 http://ASP.NET MVC 以及 Web Form 開發項目,並瞭解兩種機制的異同,根據項目場景做出合適的選擇
  • 知曉 IIS 7 集成模式,並瞭解與經典模式的異同;熟悉 http://ASP.NET 運行機制,獨立完成模塊和處理程序的開發
  • 有系統分層的概念,能使用面向對象的方法建立模型和服務,能獨立組織出解決方案的結構
  • 運用設計工具獨立設計數據庫,運用 ORM 工具與多種數據源的交互,知曉各類數據源的大概差別
  • 至少使用過一種源代碼管理工具,參與過 2 人以上協做完成的項目



高級:

  • 至少對一種其餘的服務器開發平臺(如 LAMP、Java、Python、Node.js 等)有深刻的瞭解,並清楚其與 http://ASP.NET 之間的主要區別;明確 http://ASP.NET 在整個項目佈局中所處的位置
  • 對 C# 3.0 以上版本(或 VB 對應版本)有深刻研究,熟練地處理多線程開發;合理運用異步和 COM 組件等功能解決問題
  • 深刻了解 http://ASP.NET 運行機制,對應用程序域、配置、模板引擎、編譯、請求處理管線等十分了解
  • 能獨立完成 http://ASP.NET Web Form 中用戶控件、服務器控件的編寫;對 http://ASP.NET MVC 中的路由機制、控制器調用方式、過濾器、模型綁定與驗證等特性十分熟悉,並能根據現有機制輕鬆完成擴展與定製
  • 能結合對 WCF 和 Web API 等技術的應用,構建分佈式的系統
  • 清楚 IIS 的集成模式與經典模式、請求過濾與跟蹤、信任級別等特性與功能以及應用程序池進程數量、進程模型、回收等特性與功能對應用程序的影響
  • 對項目的性能、壓力和安全性要求有明確的認識,熟練運用 http://ASP.NET 輸出緩存、進程內或分佈式數據緩存提升性能;合理配置 IIS 輸出緩存、壓縮;瞭解常見的 Web 攻擊方法並加以防範
  • 熟知請求和響應在各個過程的狀態,並適時完成諸如請求流預處理、攔截、緩存、統計等功能
  • 對常見設計模式和思想很是熟悉,合理在項目中加以應用;熟練運用常見的開源和第三方庫,結合項目需求,合理選用 DI、ORM 等用於提高開發效率的工具
  • 能獨立完成大型項目的架構,獨立完成系統中日誌、緩存、數據處理等基礎功能的開發計劃
  • 對整個項目數據庫設計、界面實現與優化、領域模型和數據服務、調試與測試、部署與服務器配置均能完整掌控
  • 能完成組織和協調 5 人以上人員參與的項目的開發計劃和工做分配,把握開發進度,激勵團隊前進

 

先讓面試者介紹一下項目經驗,從他項目裏面的實際技術入手開始問起。
好比說在http://ASP.NET項目裏用過jquery,那就問一下jquery跟http://asp.net結合使用的一些技巧,什麼邏輯放到jquery裏,什麼邏輯放到http://ASP.NET裏。
好比說用過http://ASP.NET MVC,那就問問MVC的實現原理方面的問題。好比說用過WPF,那就問問雙向數據更新的實現方面的問題。

相關文章
相關標籤/搜索