gpt4 book ai didi

c# - 当从 javascript 调用时,UpdatePanel 中的 asp.net 按钮会导致 Firefox 15.0.1 中的整个页面刷新

转载 作者:行者123 更新时间:2023-12-03 21:51:41 25 4
gpt4 key购买 nike

好吧,这很奇怪。

我正在使用 .net Framework 4。我在更新面板中有一个 asp.net 按钮,如下所示:

<asp:Button id="btNacinMontaze" runat="server" class="buttonOIHidden" value="nm" CausesValidation="false" onclick="btNacinMontaze_Clicked" clientidmode="Static" UseSubmitBehavior="false"/>

如果我在浏览器中点击它,它会正常工作 - updatepanel 会自行更新而不刷新整个页面,正确的服务器事件会被触发。

如果我在页面中这样做: document.getElementById("btNacinMontaze").click();

整个页面刷新并触发正确的服务器事件。

如果我从 firebug 控制台中发出同一行代码,则只会刷新 updatePanel。

如果我在 Chrome 或 IE9 中加载相同的页面,它在所有情况下都可以正常工作。我通过在 Firebug 中调试跟踪了鼠标单击和代码单击之间的区别,并在 Sys$WebForms$PageRequestManager$_doPostBack 方法中看到了这一行

if (!this._postBackSettings.async)

是不同的。 async 在鼠标点击时为 true,在代码点击时为 false。

我不知道为什么会发生这种情况,非常感谢任何帮助。

最佳答案

你应该define an AsyncPostBackTrigger停止整个页面刷新。

<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="label" runat="server"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btNacinMontaze" EventName="Click" />
</Triggers>
</asp:UpdatePanel>

关于c# - 当从 javascript 调用时,UpdatePanel 中的 asp.net 按钮会导致 Firefox 15.0.1 中的整个页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12320757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com