我有一个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失去了焦点。
希望您能帮助我,谢谢。