2

我知道这是一个以前被问过几次的问题,但是环顾四周后,我似乎找不到适合我的答案。

我有一个带有 2 个文本框(设置为使用 JQuery 显示日期)、一个下拉列表和一个数据网格的 VB.NET 页面。

文本框和下拉列表都设置为触发事件(如果它们发生更改)以更新数据网格。

通常,这可以正常工作,但有一个例外;当我在初始页面加载后更改文本框或下拉列表的值时,它通常不会触发事件,回发设置为 false 并清除下拉列表值;这在 Chrome 中不会发生,并且在 Firefox 中的频率低于在 IE 中。

我尝试了以下方法:

我已经在所有项目上设置了 autopostback=true

尝试将未启用的额外项目添加到下拉列表

将框/列表移到更新面板之外

设置 ViewStateMode=Enabled

尝试添加一个设置为 Request.Form(ddlDropdownList.UniqueNumber) 的隐藏字段,并将其与页面加载中的 Request.Form(ddlDropdownList.UniqueNumber) 进行比较,作为触发事件的一种方式(建议说使用 Request.Forms,但这不是智能感知的一个选项吗?)

所有这些解决方案要么不起作用,导致其他问题,要么我做得不对(当然可能是这种情况)

提前感谢您提供的任何帮助。

4

1 回答 1

1

我不知道这是否会有所帮助,我已经有一段时间没有完成网络表单了,但我确实记得列表框存在问题,我必须在填充页面时检查页面是否不在回发中。

所以基本上在你的页面加载方法中,在初始化之前检查页面是否不是回发。我发现即使我选择了一个新项目,它也会将列表重置为默认状态。

这可能会或可能不会帮助你,但我认为至少值得一提。

于 2013-02-27T13:32:26.820 回答