MVC中@Html.Action的用法


        MVC項目中如果有公共部分的代碼就可以單獨拿出來作為控件來用(比如頭部和底部代碼)。跟ASP.NET中的ASCX實現的效果一樣,但MVC比它方便的多。


        想要實現該效果,需要知道@Html.Action的用法。


        @Html.Action有很多的構造方法在這里我只說一種也是經常用到的@Html.Action("視圖","控制器")的用法。首先我先創建一個控制器DaohangController.cs再在該控制器里添加一個視圖方法RightDH,同時在Views文件夾里添加相應的cshtml頁面。這個時候就創建好了一個可以運行的RightDH頁面,


       可以直接訪問/
Daohang/RightDH),看一下是否可以正常的訪問。如果可以正常的訪問,看下一步,在你想要調用的頁面調用RightDH頁面(代碼:@Html.Action("RightDH", "Daohang")),這個時候運行你調用該視圖的頁面,就會看到RightDH頁面的信息已經被調用過來了



       說到這兒我說一下_ViewStart.cshtml這個文件,在MVC里都會看到這個頁面的存在,這個是頁面是不可訪問的,但是你訪問MVC里的每個頁面的時候,程序都會先訪問_ViewStart.cshtml頁面然后才是你要訪問的頁面。這就有一個好處,一些公共的html代碼可以放到_ViewStart.cshtml文件里。


      然后就是母版頁,引用了母板頁也就繼承了母板頁的所有代碼,所以你可以把寫好的頭部和底部代碼寫成控件的方式,然后在母板頁里面調用該控件(用
@Html.Action調用控件),然后讓其他頁面繼承母板頁,這樣就區分開公共部分和非公共部分。也達到了代碼重用的效果。


      那么怎么繼承母板頁呢,有兩個辦法:1就是在創建頁面的時候直接繼承。2.直接在頁面的頂部加上


     @{   
         Layout = "~/Views/Shared/HeadFoot.cshtml";
      }


    
 紅色部分就是母板頁地址,在創建的頁面里的內容都會替換到母板頁里@RenderBody()的部分


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM