2018-10-12
這幾天開始想要將原來做的Winform程序改造成網頁平臺模式。經過比對,決定採用MVC webapi
MVC : Model View Controller
Model: 處理數據的模型,將某些數據(數據可以從前端獲取也可以從數據庫獲取)進行一系列邏輯處理,數據可以通過controller被前端調用,也可以保存到數據庫。
View:最好理解,就是前端界面,嚴格來說可以不含任何數據處理,只需要從controller獲取數據進行展示或者將數據傳給controller。
Controller/apicontroller: 目前來看,就是負責model和View之間的數據傳輸。
基於我的winform的經驗,各種類和業務方法都寫在model裏面。
apicontroller裏面的方法就是一些接口,get/post/put/delete。
普通的controller裏面的方法是用於打開頁面,與我一開始理解不一樣的地方在於,一個頁面的名稱如果不是默認的index.cshtml,調試的時候打不開
爲什麼默認index就可以打開了呢?
查看TestController裏面的方法。
默認方法index(),return View(),view裏面沒有參數,則默認打開index.cshtml。在調試的時候,url默認使用本文件夾對應的Controller裏面和頁面名稱一樣的方法。
那麼我們將這個方法修改下看是什麼結果。
即使是在index頁上右鍵用瀏覽器打開,打開的卻是account頁面。
這時候觀察url,url的構成實際上是../TestController/方法,而不是頁面名稱。
這時候再去看App_Start的RouteConfig,發現這裏的url構成已經很明白是
實際上,如果將controller中的返回頁面改成任意頁面,都可以,而不必要是同名稱的view文件夾。
當然,從習慣上來說,使用同名便於使用。
總結:開始的時候,我以爲頁面是按路徑來打開的,因爲controller名稱和view文件夾名稱的相同以及默認index方法也頁面名稱的相同,導致了有此誤解。。。。