1

我创建了一个基本视图模型,我的所有视图模型都继承自该视图模型。那部分很容易。

所有视图都绑定到一个视图模型(所有视图都继承自基本视图模型)

在 OnActionExecuted 方法中,我根据某些条件将真/假值插入到 baseviewmodel 内的属性中。

从事物的角度来看。我有一个单一的布局页面,我希望能够读取属性的值并根据该值呈现不同的局部视图。

这可能吗?我不想将代码添加到每个视图,但我认为我也不应该将布局绑定到我的 baseviewmodel。

如果我可以避免将值插入到 valuebag 中,那就太好了,因为我需要能够通过强类型名称在应用程序中的任何位置访问这些值。

4

2 回答 2

0

不确定我是否完全遵循用例,但您是否考虑过嵌套布局页面,而不是尝试渲染部分视图。

我认为您应该能够覆盖 onactionexecuted 中的布局,因此您可以根据 bool 设置布局,并且该布局将仅呈现正确的选项。

看这里的例子:

使用 Razor 嵌套布局页面

高温高压

于 2012-10-16T07:11:27.103 回答
0

您想要的可能是不可能的,因为当您从控制器调用视图时,首先执行该视图中的代码,然后执行布局代码
以实现您正在做的事情,您可以做两件事1. 在自身

内部创建逻辑controller然后呈现正确的view
2.call 布局,在or 的某些属性中controller为其命名partial viewmodelviewbag

于 2012-10-16T07:47:59.773 回答