gpt4 book ai didi

c# - iFrame 在 asp AjaxToolkit TabContainer 中加载两次

转载 作者:行者123 更新时间:2023-11-30 12:27:05 24 4
gpt4 key购买 nike

我在我的项目中使用 asp AjaxToolkit,如下 asp.net C# 代码。

<asp:UpdatePanel ID="UpdatePanelDemo" runat="server">
<ContentTemplate>
<ajax:TabContainer ID="tabMessage" runat="server" ActiveTabIndex="1" AutoPostBack="true"
OnActiveTabChanged="tabMessage_ActiveTabChanged" CssClass="ajax__tab_blueGrad-theme">
<ajax:TabPanel ID="TabMCompose" runat="server">
<HeaderTemplate>
<span style="padding-left: 5px; padding-right: 5px;">Compose </span>
</HeaderTemplate>
<ContentTemplate>
This Text not flickering or not loading twice // *****
<iframe id="IFrmCompose" runat="server" scrolling="no" frameborder="0" height="400px"
width="100%"></iframe>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="tabMInbox" runat="server">
<HeaderTemplate>
<span style="padding-left: 5px; padding-right: 5px;">Inbox (<span id="SpnIn" runat="server"></span>)</span>
</HeaderTemplate>
<ContentTemplate>
<iframe id="IFrmInbox" runat="server" scrolling="no" frameborder="0" height="400px"
width="100%"></iframe>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</ContentTemplate>
</asp:UpdatePanel>

问题:当我在 ajax TabContainer 中使用 iFrame 并且当用户从第一个选项卡移动到第二个选项卡时,似乎页面加载两次并且 iFrame 加载两次或它闪烁但 iFrame 上方的文本如上所示('This Text not flickering or not loading twice ') 不闪烁。

看来 iFrameAjax TabContainer 有问题。

请告诉我为什么会这样。

谢谢。

最佳答案

不是 100% 确定,因为没有附加代码隐藏,但看起来像是 ViewState 问题。由于您没有在转发器模板中设置 IFrame SRC,页面初始化将首先将 IFrame 设置为空,然后重新设置 URL,即使它没有改变(导致它闪烁)。

建议:在选项卡更改时将 URL 保存在 ViewState 或其他内容中,并在转发器模板中将其设置为保存的值。始终将任何空帧 SRC 设置为“about:blank”,以避免不必要的加载并可靠地检测更改。

请注意:在某种程度上,您是在做同样的事情两次 - 使用 UpdatePanels/Ajax 控件时,您不需要 IFrame,选项卡的内容应该通过 AJAX 调用检索,从而使 IFrame 过时。

关于c# - iFrame 在 asp AjaxToolkit TabContainer 中加载两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26862705/

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