我有一个非常奇怪的问题,那就是我们在asp.net网页(.net 2.0)上动态加载用户控件。用户控件有3个dropdown,其中一个附加了selectedindexchanged事件(用一组值加载第三个dropdown)。
奇怪的是,如果当前在表单的其他部分中有任何无效字段(其中字段验证器已被激活),当您在第一次更改时选择有问题的下拉列表时,它不会执行任何操作,但是当您再次更改索引时,它会完美地工作!我不明白为什么事件不会在第一次更改时触发,而是在之后的每一次更改中触发。
但是,如果在用户控件上方正确地填充了所有这些字段,它就会正确地触发selectedindexchanged事件。
关于验证,我已经禁用了所有可能的验证,以试图消除它的罪魁祸首,所以我不明白验证如何影响用户控件。
任何帮助都将不胜感激:)
发布于 2010-08-20 15:22:49
如果你不想在first dropdown的selectionIndexChange上验证表单,简单地添加属性CauseValidation="false"
,它就不会在回发上触发表单验证。如果你正在动态地(在运行时)添加控件,请确保你没有在if(!IsPostBack)
块中这样做,因为你甚至必须在回发上添加控件。这取决于添加控件的方式,但通常这些都是处理此类问题时的常见错误
https://stackoverflow.com/questions/3528683
复制相似问题