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

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

下面先按原先咱們的設計,在控控制器建立三個視圖操做(Action):
html

 

建立一個佈局頁_May15.cshtml,而後上面的三個視圖均引用此佈局頁.
佈局

 

如今咱們根據控制器的Action分別建立三個視圖,Index.cshtml:
設計

 

PageA.cshtml:
3d

 

PageB.cshtml:
htm

 

OK,如今咱們回至_May15.cshtml寫model代碼,添加下面標記1至標記3:
blog

如今咱們分別瀏覽視圖Index.cshtml,PageA.cshtml和pageB.cshtml:
get

 

 

 

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

可是實際上,咱們不能這樣去作,由於不一樣的視圖,就是想表現不一樣的內容。這就是咱們須要解決的地方。

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

 

接下來,咱們只去修改佈局頁_May15.cshtml:
引用

 

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

相關文章
相關標籤/搜索