本文是閱讀了scottgu's blog來記錄的,外加自己的學習心得。
一:razor
razor是乙個新的檢視引擎,它實現了快速,流暢的編碼流程,使得檢視模板跟簡潔乾淨。
1:靈活的選擇。
add->view... 新建檢視模板的時候你可以選擇razor(cshtml)模板檢視,或aspx(c#)模板檢視。
2:razor和aspx語法的比較
變數variable:
在.aspx中的hello: 在razor中不需要顯示的閉合**塊hello:@name
迴圈及巢狀:
而在razor引擎中:
@foreach(var p in model)else
如果要輸出@,則用@@就可以輸出乙個@。
eg:what's you time? it's @@datetime.now
頁面輸出what's you time? it's @datetime.now
razor中支援aspx引擎中的html helper. 使用方式:@html.textboxfor(m=>m.name)
3:自定義可以重複使用的html helper:
@helper themelist(int i)
if(i==0)
//do sth..;
else //do 2;
呼叫時直接@themelist(3)
3 :@model
動態型別不需要使用inherite system.web.mvc.iviewpag<..> 直接使用@model 強型別 eg: @model mvc3urlpro.models.urlclass
4: _layout.cshtml與_viewstart.cshtml頁面載入
_viewstart.cshtml頁:首次執行預先載入項,它作用為頁面指定模板頁。只需要在view資料夾內加入_viewstart頁面,就無需在每個具體的頁面引入模板頁。
_layout.cshtml頁:實現框架的頁面,即模板頁。
每次開啟乙個頁面時,先進_viewstart頁面,根據頁面內指定的模板頁再執行該指定名稱的模板頁,預設模板頁名稱為:_layout.cshtml。
5:razor中在服務端的注釋使用 @* 注釋語句*@
6:razor中的@:和使用
@: :顯式的指定一行**塊 eg: @if(datetime.now.year == 2011)
else 顯示錯誤;
7:**表示式@ 及@()
由於razor解析演算法的方式。需要 @() 顯式**
eg: @( a.sum() / b.count() )
8:razor中的_layout模板頁和section
_layout模板頁中的@renderbody(): 呈現頁面主體 載入頁面的body內容
@rendersection("sectionname",required:true/false) : 預定義模板中的段 在頁面載入時載入定義好的段節
eg @section sectionname 具體的section定義是定義在頁面中。
學習封裝 MVC 3
一 配置載入類 1 建立配置路由 return array ctrl index action index 2 控制器層 1.判斷配置檔案是否存在 2.判斷當前配置是否存在 3.快取配置 載入單一配置 static public conf array static public function g...
mvc3學習之 安裝
安裝 asp.net mvc 3 完整步驟教程 musicstore 這幾天正在學習 mvc 3 並且使用微軟的 musicstore 一步一步的學習的。在使用過程中,遇到了一些配置 安裝問題 看到第四課出現問題 為了防止自己忘記,於是寫個日誌記錄一下,同時也方便那些正在學習 mvc 3 的童鞋。以...
MVC3學習筆記(四)
前幾天把 發布到伺服器了。什麼都是第一次搞,這個也不例外。經過摸索,大致過程如下 1 在iis中新增乙個虛擬目錄 2 在專案標題上右鍵 發布,上圖我是用本機抓的圖,遠端伺服器類似,僅需把localhost改為即可,應用程式 一欄需要與iis上設的虛擬目錄一致 如上發布。還有幾個小問題說明一下 1 那...