iT邦幫忙

DAY 14
0

在錯誤中學習ASP.NET MVC系列 第 14

認識View - 目錄結構

對Controller有基本認識之後,要開始了解View 的部分,View跟使用者的關係是最為密切的,所有與使用者互動都是在View這邊完成,例如資料的呈現以及表單的送出,在接下來的幾天將詳細介紹View的基本觀念。

View存放位置

專案中的View檔案統一都是放在Views資料夾下,以MVC4的預設範本為例,在先前Controller的部份我們已經有稍微認識到HomeController與AccountController,其中相對應的View就是存放在Views資料夾中與Controller同名的資料夾內,以HomeController為例,其對應的View就是放在Views/Home資料夾下

Shared資料夾

內面含有_Layout與_LoginPartial與Error三個.cshtml檔案,這資料夾是用來作為全站共用的檔案,來觀察一下_Layout.cshtml,可以發現這個檔案其實就已經把每個頁面會共用的<header>與<footer>都抽出來了,並且透過設定我們就不就在每一頁都寫一堆重複的Html,如果今天需要修改header區塊中的文字也僅需要修改此檔案就好了,不用呆呆的每一隻檔案都打開去修改。

此資料夾也是View Engine最後一個搜尋的位置

_ViewStart.cshtml

設定主版頁面,打開_ViewStart.cshtml中Layout的設定值就是主版頁面,所以如果你今天要換成其他View只需修改這邊的設定即可,其他非主版頁面的View中若沒有指定Layout,那預設就是讀取_ViewStart.cshtml的Layout設定,這個功能在多個Areas(之後會講)時就非常好用,例如專案中有很多大功能區塊,如果設計師有各別設計版面,此時就可以各別設定_ViewStart.cshtml中Layout的值

Web.config

這個檔案非常容易跟專案下Web.config搞混XD,這邊是一些Razor View Engine的設定,在使用到第三方組件時,我比較常在這邊add namespace,因為在View裡面沒有using的提示(或是我不知道怎麼用),常常都要自己去複製然後貼到View裡面超麻煩,以PageList這個組件為例(搜尋結果的分頁處理),一定要在View裡面using命名空間才能使用,如下圖

但是專案中常常都會有搜尋的需求,每次遇到有搜尋功能的畫面都要特別是複製貼上這兩行using的程式碼真的很煩,所以此時的add namespace就非常好用,如下圖,就這樣擺脫複製貼上的命運了XD

明天再繼續介紹View的類型,例如一般檢視、部分檢視等等


上一篇
認識Controller - 傳資料給View
下一篇
認識View - View的種類
系列文
在錯誤中學習ASP.NET MVC30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言