[.net 面向對象程序設計深刻](6).NET MVC 6 —— 模型、視圖、控制器、路由等的基本操做

[.net 面向對象程序設計深刻](6).NET MVC 6 —— 模型、視圖、控制器、路由等的基本操做css

1. 使用Visual Studio 2015建立Web App

(1)文件>新建>項目,選擇Web>ASP.NET Web 應用程序html

(2)在新項目MyFirstWebApp對話框中,選擇ASP.NET 5模板>Web Applicationgit

因爲是RC版,這裏的」添加單元測試「暫時不能選,上面的WebForms MVC WebAPI將合併,前面一節介紹過了,所以也不須要再選。點肯定,完成一個MVC6項目建立。github

(3)運行項目web

F5在調試模式下運行,或 Ctrl+F5非運行模式下運行編程

小技巧:啓動應用程序 Ctrl+F5(非調試模式)容許您更改代碼,文件保存,刷新瀏覽器,查看代碼的變化。不少開發者喜歡使用非調試模式來快速啓動應用程序並查看變化。json

默認項目是一個響應式的頁面,當瀏覽器窗口縮小或在小屏幕設備上打開時,能夠看到導航顯示,以下:gulp

2.項目結構

 咱們先看一下MVC6和MVC5的項目結構差別:瀏覽器

下面是MVC5項目結構ide

下面是MVC6項目結構

能夠,看到和MVC5相比,項目結構差別比較大

(1)項目文件變成了xproj(MVC5項目文件是csproj)

(2)程序配置文件變爲config.json(MVC5則是web.config)

(3)增長了project.json 主要用於項目配置,負責程序集、項目部署設置,部分功能相似於MVC5的package.config.

(4)package.json 這個文件在MVC6中是NPM的配置文件,基於Nodejs的包管理器。

(5)gulpfile.js 是gulp配置文件,gulp是基於Nodejs的Javascript任務管理器,在ASP.NET 5中主要管理NPM和Bower中的內容。

(6)Stratup.cs 程序啓動入口,相似於原來的Global.asax

(7)Project_Readme.html 項目說明文件,沒什麼具體做用。

(8)wwwroot 靜太資源文件(如css,images,js等)的存放目錄

(9)Dependencies Bower和NPM的依賴管理包。

(10)References 程序集引用,和之前相似,但如今有版本區分(如ASP.NET 5.0 和ASP.NET Core 5.0)

想深刻了解MVC6項目結構的朋友,能夠參考文章:http://www.cnblogs.com/TomXu/p/4496407.html

3.添加控制器(Controller)

在項目文件夾Controllers右擊,選添加>新建項

 

在打開的對話框中,選擇MVC控制器類,取名HelloWorldController.cs

 

咱們打開剛纔建立的控制器HelloWorldController.cs更改成以下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc;

// For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860

namespace MyFirstWebApp.Controllers
{
    public class HelloWorldController : Controller
    { 

        // GET: /HelloWorld/ 

        public string Index()
        {
            return "這是個人默認動做...";
        }

        // 
        // GET: /HelloWorld/Welcome/ 

        public string Welcome()
        {
            return "我是一個歡迎方法...";
        }
    }
}
View Code

讓上面的方法返回一個字符串,F5運行,然在地址後面加上helloworld,刷新一下瀏覽器,效果以下:

咱們打開Startup.cs文件,看一下路由

先找到以下代碼:

 

路由設置的是默認 控制器=Home,方法默認爲 Index 參數默認爲 id

路由設置格式爲 :/[Controller]/[ActionName]/[Parameters]

咱們上面指定的控制器,則打開默認的方法Index,若是咱們指定方法,運行結果以下:

接着咱們看一下參數:

增長以下方法到HelloWorldController.cs

  public string Welcome2(string name, int ID = 1)
  {           
            return HtmlEncoder.Default.HtmlEncode(
                "hello,name:" + name + ",id:" + ID);
 }

注意:上面使用的代碼htmlencoder.default.htmlencode保護應用程序免受惡意輸入(如JavaScript)。

ID有一個默認值,咱們傳入參數ID時,默認顯示1

傳入兩個參數:

4.添加視圖(View)

(1)先在項目的View目錄上建立一個跟控制器同名的文件夾 HelloWorld

好比:視圖名爲HelloWorld,則對應的控制器名爲:HelloWorldController

(2)在視圖文件夾HelloWorld中建立視圖名爲:ViewShow.cshtml,

替換視圖文件以下:

@{
    ViewData["Title"] = "Index"; } <h2>Index</h2> <p>Hello from our View Template!</p>

 

並在HelloWorldController,添加同名方法,代碼以下:

 public IActionResult ViewShow()
 {
      return View();
 }

而後運行以下圖所示地址:

控制器方法View() 爲返回視圖

5.添加模型(Modle)

模型添加實際是添加一個類文件,這裏只是簡單建立一個實體,後面會完整介紹

右擊項目文件夾Models,添加一個類文件,名爲:Movie.cs

 

內容以下:

public class Movie
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

到這裏一個模型建立完成。

6.總結:

本篇內容很是容易理解,介紹了MVC6基本的控制器、視圖、模型的建立及最簡單的路由設置,雖然基礎,但這些是咱們學習MVC的基礎,後面有機會繼續再介紹MVC的應用。

7.完整源代碼下載

Git地址:https://github.com/yubinfeng/BlogExamples

==============================================================================================

返回目錄

<若是對你有幫助,記得點一下推薦哦,若有有不明白或錯誤之處,請多交流>

<對本系列文章閱讀有困難的朋友,請先看 《.net 面向對象編程基礎》 和 《.net 面向對象程序設計進階》 >

<轉載聲明:技術須要共享精神,歡迎轉載本博客中的文章,但請註明版權及URL>

.NET 技術交流羣:467189533 .NET 程序設計

==============================================================================================

相關文章
相關標籤/搜索