MVC3學習總結

2021-09-06 02:27:07 字數 1539 閱讀 1231

本文是閱讀了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 那...