2010-08-20 58 views
1

我有一个非常奇怪的问题,我们在asp.net网页(.net 2.0)上动态加载用户控件。用户控件有3个下拉列表,其中一个下拉列表中有一个selectedindexchanged事件(其中第三个下拉列表中有一组值)。在选择更改时动态添加UserControl不会触发PostBack事件?

奇怪的是,如果在窗体的其他部分当前有任何无效字段(其中字段验证程序已被激活),那么当您在第一次更改时选择下拉问题时,它什么也不做,但那么当你再次改变索引时,它完美地工作!我不明白事件怎么不会为第一次改变而开火,而是随后发生的每一次改变。

但是,如果所有这些字段都正确填写在usercontrol上方,它会正确触发selectedindexchanged事件。

关于验证我已禁用所有可能的验证,以试图消除它作为罪魁祸首,所以我不明白如何验证可以影响用户控件。

任何帮助,将不胜感激:)

回答

2
  1. 如果您不想验证的第一个下拉的selectionIndexChange,简单的附加属性CauseValidation="false"形式,它不会在selectionIndexChange火表单验证。

  2. 如果您正在动态添加控件(在运行时),请确保您没有在if(!IsPostBack)块中执行此操作,因为即使在回发中也必须添加控件。这取决于您如何添加控件,但通常这些是处理此类问题时常见的错误。

相关问题