通过 JavaScript 按钮单击加载多个 UpdatePanel 控件

发布于 2024-12-25 11:15:24 字数 647 浏览 0 评论 0原文

我在一个页面上有 3 个更新面板。它们中的每一个都设置为有条件更新。在每个更新面板中,我都有一个按钮控件,单击该按钮控件将用数据填充面板。每个面板都是相互独立的。

当您手动单击各自面板中的 3 个按钮中的每一个时,一切工作正常。当我使用 JavaScript 单击按钮时,出现了我遇到的问题。我在执行单个 JavaScript 调用时取得了成功,但是当我尝试使用 JavaScript 单击所有 3 个按钮时,事情的表现却很不稳定。根据我在代码中放置 JavaScript 调用的位置,不同的面板可以工作,而其他面板则不能。

例如:

__doPostBack('btnBindTeamTicketList', '');
__doPostBack('btnBindPriorityList', '');
__doPostBack('btnSearchTemplate', '');

将显示包含“btnSearchTemplate”按钮的面板,但不显示其他按钮。当我改变顺序时会出现不同的结果。

有没有办法使用 JavaScript 单击我的 3 个独立按钮(每个按钮都在其各自的面板中),以便每个面板都会加载,就像我单独单击它们一样?我猜这与 AJAX 之间的某种冲突或计时问题有关。有人指出我正确的方向吗?

我正在使用 ASP.NET 3.5/C#

I have 3 update panels on a page. Each of them is set to conditionally update. In each update panel I have a single button control that when clicked will populate the panel with data. Each panel is independent of one another.

Everything is working fine when you manually click each one of the 3 buttons in their respective panel. The issue I am having comes up when I use JavaScript to click the buttons. I have success when executing a single JavaScript call but when I try to click all 3 buttons with JavaScript, things behave sporadically. Depending on where I place the JavaScript calls in my code, different panels work and the others do not.

For example:

__doPostBack('btnBindTeamTicketList', '');
__doPostBack('btnBindPriorityList', '');
__doPostBack('btnSearchTemplate', '');

will show the panel that holds the 'btnSearchTemplate' button, but not the others. Different results occur when I change the sequence around.

Is there a way to click my 3 independent buttons (each in its respective panel) using JavaScript so that each panel will load as if I were clicking on them individually? I am guessing this has to do with the AJAX somehow conflicting with each other or a timing problem. Anyone point me in the right direction?

I am using ASP.NET 3.5/C#

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

假装爱人 2025-01-01 11:15:24

我认为你应该做一次回发。在页面中放置一个隐藏的更新面板,并在这个新的更新面板中放置一个按钮。此按钮应调用事件

  • btnBindTeamTicketList_Click(null, null)
  • btnBindPriorityList_Click(null, null)
  • btnSearchTemplate_Click(null, null)

并应更新其他更新面板,如 upTeamTicketList.Update()。现在尝试单击这个新按钮。

I think you should do one postback. Put a hidden update panel in your page and put a button inside this new update panel. This button should call events

  • btnBindTeamTicketList_Click(null, null)
  • btnBindPriorityList_Click(null, null)
  • btnSearchTemplate_Click(null, null)

and should update the other update panels like upTeamTicketList.Update(). Now try clicking this new button.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文