嵌入在ASPX页面回发中的ASCX控件中的ASP.NET Timer

时间:2018-07-09 14:47:05

标签: asp.net timer

我有一个ASCX-Control,它可以控制一个计时器,一个标签和一个更新面板。 我的计时器不在Updatepanel中。 计时器每隔5秒钟计时一次,并从mysql-DB中读取数据以对新消息的数量进行计数并将其写入标签中。

在我的ASPX页面中,我嵌入了ASCX-Control。该控件在我的ASPX-Page中的updatepanel之外。当ASCX控件中的计时器计时时,页面正在执行回发。问题是,我们失去了当前控件的焦点。

这里是ASCX控件:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="badgeIcon.ascx.vb" Inherits="Test.badgeIcon" %>
    <link href="css/badgeIcon.css" type="text/css" rel="stylesheet" />

    <asp:UpdatePanel ID="upMsg" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <div id="divIconMsg" runat="server">
                <asp:ImageButton ID="iconMsg" runat="server" ImageUrl="~/Resources/iconErinnerung.svg"></asp:ImageButton>
                <div id="divMsgCount" runat="server" Visible="false">
                    <asp:Literal ID="cntMsg" runat="server" Text='0' />
                </div>
            </div>
        </ContentTemplate>   
    </asp:UpdatePanel>

    <asp:Timer ID="tiTimer" runat="server" Interval="5000"></asp:Timer>

ASPX页表示ASCX控件:

    <asp:UpdatePanel ID="upSuche" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <div id="suche"  runat="server">
            <div id="divImgSuche" runat="server">
                <asp:ImageButton ID="imgSuche" runat="server" ImageUrl="~/Resources/IconSuche.svg"></asp:ImageButton>
            </div>
            <asp:TextBox ID="tbSuche" runat="server" placeholder="Suche"></asp:TextBox>
            <div id="divImgSucheClear" runat="server">
                <asp:ImageButton ID="imgSucheClear" runat="server" ImageUrl="~/Resources/btnclose.svg"></asp:ImageButton>
            </div>                      
        </div>
    </ContentTemplate>   
</asp:UpdatePanel>
// ASCX-Control with Timer
<uc1:badgeIcon runat="server" id="badgeIcon" />

ASPX-Page中的 tbFinder失去了焦点。

希望您能帮助我,谢谢。

0 个答案:

没有答案