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:
引用

 

完成了,看到上面的代码了吧,就是这两行代码。其它视图均无需修改任何,它本来是怎样写,就是怎样写。
如今咱们浏览三个视图,肯是没有问题的:

相关文章
相关标签/搜索