我正在设置一个向导。我的所有向导视图都需要访问公共数据才能显示TotalWizardSteps和CurrentWizardStep。我正在尝试找到将此常用数据添加到ViewDataDictionary的最佳方法。我正在考虑创建自己的WizardStepViewPage。该子类将具有一个属性“WizardData”,它返回一个WizardData对象。这将允许我在我的视图中编写以下代码:
<p>Wizard Step:<%= WizardData.CurrentStep %></p>
这个WizardData对象的后备存储将是ViewDataDictionary,而一些unlikley可以重现像“__TheWizardData”这样的键。我用actionfilter设置了这个键的值。
这听起来很混乱,但我认为它会起作用。它虽然愚蠢吗?有没有更好的方法来实现这一目标?
我想:
答案 0 :(得分:3)
我认为您应该创建一个包含必要信息的模型类,并使用它来创建强类型视图。
我认为你没有理由想要从强类型模型中隐藏WizardData,但如果真的想要这样做,为什么不为{{{{}创建扩展方法? 1}}而不是继承?对于不同类型的ViewPage
(类型化,无类型化),继承不会很好。