本人在讀研究僧一只,老師那里使用的是ASP.NET的Web Forms技術,真的要感慨一句:尼瑪太老舊了!之前耳聞Python的高效開發,曾經學過一點Python的Django框架,這是我第一次接觸MVC的模式。之后回到.NET平臺,ASP.NET MVC自然成為了我學習的首選。這里補充一句,之前為了方便地制作網頁特地花時間學習了一下Bootstrap,當我發現ASP.NET MVC 5集成了Bootstrap之后欣喜若狂,果斷選擇MVC5。
在上圖中我標注了5個要點:
路由的功能是根據客戶端獲取的URL來調用不同控制器類(Controller Class)下的動作方法(Action Method)。默認的URL路由邏輯是由如下格式的URL來決定代碼的調用:
1: /[Controller]/[ActionName]/[Parameters]
當然,我們可以通過修改App_Start/RouteConfig.cs文件來自定義添加和修改路由邏輯,如:
1: routes.MaPRoute(
2:
3: name:"Hello",
4:
5: url:"{controller}/{action}/{name}/{id}"
6:
7: );
調用動作方法后返回值類型可以為string,這樣就以硬編碼(hard-code)的方式直接把字符串輸出到瀏覽器中。
也可以返回一個視圖對象(View object),利用視圖模板來產生一個對瀏覽器的HTML響應,一般返回ActionResult或者其派生類型,而不是字符串。
從控制器向視圖模板傳遞參數時可以使用ViewBag。ViewBag是一個動態對象,我們可以把任何信息放進去。在我們把數據放進去之前不會有任何已定義的屬性。
MVC也支持傳遞強類型對象,這種強類型的方法使得編譯時能有更好的代碼檢查和Visual Studio編輯器中更豐富的IntelliSense功能。
在定義模型類的cs文件中還要定義一個對象環境類,這個類代表Entity Framework數據庫環境,用來處理模型類實例在數據庫中的增刪改查。這個類派生于有Entity Framework提供的DbContext基類。
數據庫的連接字符串指定使用的數據庫,Entity Framework默認使用LocalDB(一種輕量級的SQL Server Express數據庫引擎)。默認地,Entity Framework尋找一個和對象環境類相同命名的連接字符串。
我們可以手動在應用的根目錄中的Web.config文件中添加連接字符串。在<connectionStrings>標簽中添加如:
1: <add name="MovieDBContext" connectionString="Data Source=(LocalDb)/v11.0;AttachDbFilename=|DataDirectory|/Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>
我們其實不必去添加上述連接字符串。如果我們不指定一個連接字符串,Entity Framework會在用戶目錄下用DbContext的完全限定名稱創建一個LocalDB數據庫。我們可以任意命名該數據庫,只要是以.MDF為后綴名。
小弟是菜鳥一只,感興趣的方向是ASP.NET和Python,求學意識強烈可惜身邊沒有可以交流請教的高人和朋友。如果哪位大俠朋友愿意和我交流討論的請不吝指教,我的郵箱是name.wuzhiyu@Outlook.com。
新聞熱點
疑難解答