我创建了一个基本视图模型,我的所有视图模型都继承自。那部分很容易。
所有视图都绑定到一个视图模型(所有视图都从基本视图模型继承)
在OnActionExecuted方法中,我根据某些条件在baseviewmodel中的属性上插入一个true / false值。
从事物的角度来看。我有一个单一的布局页面,我希望能够读取属性的值并根据值呈现不同的局部视图。
这可能吗?我不想将代码添加到每个视图中,但我认为我不应该将布局绑定到我的baseviewmodel。
如果我可以远离将值插入valuebag,那将是非常好的,因为我需要能够通过强类型名称在应用程序的任何位置访问这些值。
答案 0 :(得分:0)
我不确定我是否完全按照用例进行操作,但是您没有尝试渲染局部视图,是否考虑过嵌套布局页面。
我认为您应该能够覆盖onactionexecuted中的布局,因此您可以根据bool设置布局,并且该布局将仅呈现正确的选项。
在这里查看示例:
Nested layout pages with Razor
HTH
的Si
答案 1 :(得分:0)
您想要的可能是不可能的,因为当您从控制器调用视图时,首先执行该视图中的代码然后执行布局代码
要实现你正在做的事情你可以做两件事
1.在controller
本身内部制作逻辑,然后渲染正确的view
2.拨打controller
的布局,在partial view
或model
viewbag
命名