問題:
傳統的webform和mvc在執行過程上有什麼區別?
傳統webform的工作流程如下:
請求乙個例如的url,那麼我們的webform程式會到**根目錄下去尋找blog目錄下的index.aspx檔案,然後由index.aspx頁面的codebehind檔案(.cs檔案)進行邏輯處理,其中或許也包括到資料庫去取出資料(其中的經過怎樣的bll到dal這裡就不談了),然後再由index.aspx頁面來呈現給使用者。
mvc的工作流程如下:
在mvc中,客戶端的所請求的url是被對映到相應的controller去,然後由controller來處理業務邏輯,或許要從model中取資料,然後再由controller選擇合適的view返回給客戶端。再說回前面我們執行的asp.net mvc程式訪問的http://localhost:2176/home/index這個url,它訪問的其實是homecontroller中的index這個action,見下圖:
問題:
mvc的訪問路徑是什麼含義?
在asp.net mvc預設的檢視引擎(webformviewengine)下,view是按如下路徑訪問的:
/views//.aspx
注:這個很重要,和傳統的webform是很不一樣的,這裡面是控制器名和動作名,而傳統的是資料夾名和網頁檔名。
問題:
mvc中如何控制哪個頁面顯示?
乙個是預設的,相當於主頁:
可以指定:
在global.asax檔案中的registerroutes()方法:
routes.maproute("home", "", new );
routes.maproute(
"default", // route name
"//", // url with parameters
new // parameter defaults
);在view檔案中指定:
@html.actionlink("修改", "edit", new ) |
也可以寫成修改
以上兩種方式功能是一樣的,只是第一種方法相對來說多一點點開銷。
問題:
關於action的特性:
請求的方式:
[acceptverbs("get")]
方法動作有put,get,post,head等,這些引數是限制的。
get:請求的資料隨http請求頭髮過去
post:請求的資料在http請求頭髮過去之後再發過去
put:用於上傳資料
方法的重新命名:
[actionname("setting")]
這個裡面的引數是可以自定義的。
問題:
action的返回值
actionresult
action方法返回actionresult型別的結果。asp.net mvc為我們提供了幾種actionresult的實現,如下:
第五天(學習筆記)
1.什麼是字典 dict.以 表示,沒一項用逗號隔開,內部元素用key value的形式來儲存資料.查詢的效率非常高,通過key來查詢元素 內部使用key來計算乙個記憶體位址 暫時 hash演算法.key必須是不可變的資料型別 key 必須是可雜湊的資料型別 可雜湊就是不可變 2.字典的增刪改查 1...
第五天筆記
1.return 可以結束一整個方法 2.為什麼要學會程式除錯 程式設計師寫出程式不一定有語法錯誤但邏輯錯誤一定有 於是我們就需要一步步拆分 逐步觀察 執行順序和資料變化 來找出問題!在可能出現錯誤的地方打斷點 4.陣列 陣列也有四要素 1陣列名 2.陣列型別 3.陣列下標 最大長度等於陣列長度減一...
學習第五天
清楚測試用例是什麼 測試用例的重要性 有效性 測試用例是測試人員測試過程中的重要參考依據,準確的測試用例的計畫 執行和跟蹤是 測試的有效性的有力證明 可復用性 設計良好的測試用例可以重複執行,能節約時間,提高測試效率 易組織性 清晰詳細的測試用例能夠便於測試執行的開展 可評估性 測試用例的通過率是檢...