當我們使用razor作為頁面引擎時,它的視圖文件擴展名為cshtml或者vbshtml,而之前作為分部視圖的ascx文件,進行razor之后,也是cshtml,這與非razor引擎有些不同,在這方面,官方並沒有顯式把分部視圖與標准視圖分開,有時,我們在開發時,可能會出現一些混亂了,今天主要來說一下,如何正確的使用分部視圖!
分部視圖在action中返回一定要用PartialView(),而不要偷懶使用View(),因為,如果你使用View()渲染視圖,系統會認為你是一個標准視圖,會為你加個默認的母板頁(Layout),除非你顯式的設置了Layout這個屬性。
之前的程序代碼:
1 public ActionResult PartialLogon() 2 { 3 return View();//會認識它的標准視圖,所以會加上默認的Layout 4 }
當返回視圖后,你的分部視圖會被加上默認的母板頁,這不是我們希望看到的,當然有些同學會不先麻煩的在頁面上顯式的加上Layout=null
事實上,如果你正確的返回分部視圖,這行當然是不用加的,呵呵 。
正確的寫法:
1 public ActionResult PartialLogon() 2 { 3 return PartialView();//會將頁面的Layout自動設為null 4 }
怎么樣,這回知道PartialView()與View()真正的區別了吧,呵呵!
我想這后我們把這兩個東西換個名稱,PartialView()=>渲染視圖=>不帶Layout
View()=>渲染分部視圖=>自動加上Layout