ASP.NET MVC在布局頁上使用模型(model)


看到這標題有點怪,一般情況之下,我們很容易在視圖與部分視圖中使用模型(model),但是如果想在布局頁_Layout.cshtml頁中使用模型(model),按照普通方式也許沒有達到預期的效果,在實現時有些情況需要注意的。

下面先按原先我們的設計,在控控制器創建三個視圖操作(Action):

 

創建一個布局頁_May15.cshtml,然后上面的三個視圖均引用此布局頁.

 

現在我們根據控制器的Action分別創建三個視圖,Index.cshtml:

 

PageA.cshtml:

 

PageB.cshtml:

 

OK,現在我們回至_May15.cshtml寫model代碼,添加下面標記1至標記3:

現在我們分別瀏覽視圖Index.cshtml,PageA.cshtml和pageB.cshtml:

 

 

 

為什么視圖Index.cshtml能正常顯示,而PageA與PageB不能呢? 回過頭去看控制器,只有Index控制器有返回return View(xxx):
如果三個控制器使用相同的代碼,肯定是沒有問題,對吧:

但是實際上,我們不能這樣去做,因為不同的視圖,就是想表現不同的內容。這就是我們需要解決的地方。

下面是Insus.NET解決的方法,控制器中把三個操作改為:

 

接下來,我們只去修改布局頁_May15.cshtml:

 

完成了,看到上面的代碼了吧,就是這兩行代碼。其它視圖均無需修改任何,它原本是怎樣寫,就是怎樣寫。
現在我們瀏覽三個視圖,肯是沒有問題的:

 


免責聲明!

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



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