![]() |
1
0
如果您不害怕使用msajax工具包,那么您可以制作一些能够快速实现您想要的功能的东西(如果性能友好性不是最好的话)。 创建几个不同的自定义验证器,每个验证器代表与下拉列表项相关联的不同验证目标。将每个验证器的Enabled属性设置为false。 让下拉列表autopostback on change并根据所选值更改启用的验证器。
把这些都放在
|
![]() |
2
0
answered a similar question 处理了1个字段。您应该能够扩展它来检查各种选择,然后检查相关字段是否已填写。 验证可以这样更新:
如果这些字段在用户界面上以可视方式组合在一起,那么您只需更新CustomValidator的ErrorMessage以显示“XYZ字段是必需的”。但是,如果不是这样,或者您希望每个无效字段都有一条消息,您可以使用适当的消息添加RequiredFieldValidator(或特定字段所需的其他验证),并设置 ValidationGroup 属性(如果对它们进行分组是有意义的),则根据所选内容,基于下拉选择验证特定组。 如果不同的字段可以与不同的下拉选项相关联,那么ValidationGroup的想法就不可行了。相反,您可以禁用每个字段的RequiredFieldValidator,为每个字段的验证器维护一个列表,并且在switch语句中,您可以遍历它们,启用它们,调用 IsValid 在它们上(将值存储在bool和 以及 my reply to another question . 如果你没有正确地调试它,这种方法会变得非常棘手,而且你会觉得你被黑了,因为你需要知道所有的启用/禁用正在进行中,否则你可能会发现当屏幕上显示的所有内容都有效时,你无法提交页面,但实际上,当您应该在切换之前禁用每个调用上的所有验证器,然后只启用所需的验证器时,某些内容仍然处于启用状态。 |
![]() |
Haim Ohayon · 这些链接之间有什么区别? 2 年前 |