我似乎继续运行到ASP.NET Web表单这些复杂的显示/隐藏场景中的逻辑是:“如果字段A等于胡说,和字段B等于blahblah,那么字段C显示/隐藏/验证/无论如何。“在我跑掉并开始构建自定义验证器和自定义控件之前,我可以更轻松地在标记或后端代码中对其进行管理,是否有任何库或更简单的解决方案,我在野外错过了? jQuery使工作变得更容易,但我感觉我可以将我与之争吵的很多内容抽象为更优雅的解决方案。ASP.NET和JavaScript动态显示/隐藏基于其他表单字段
所有这一切都依赖于对方或可能引发的事件都是我自己的自定义控件已经控制的,所以我感觉我可以开始写一个小框架来处理它,像这样:
<my:DynamicShowHide runat="server">
<PrerequisiteFields>
<PrerequisiteField ControlId="FieldA" Value="blah" />
<PrerequisiteField ControlId="FieldB" Value="blahblah" />
</PrerequisiteFields>
<DependentFields>
<DependentField ControlId="FieldC" />
</DependentFields>
</my:DynamicShowHide>
...如果先决条件值都被评估为true,那么DependentField会显示,如果不是则隐藏。
看来(和感觉)就像我过度设计,但是我碰到疯狂庞大而复杂的决策树这样越来越频繁。任何人都知道一个更好的方法或现有的图书馆,沿着这些方向行事?