1

ページの特定のセクションにタイマーコントロールを配置しましたが、タイマーがチェックされるたびに、別のセクションのテキストボックス(複数のテキストボックスがあります)のフォーカスが失われます。

どうすればこれを解決できますか?別の更新パネルにタイマーを配置してみました。タイマーティックイベントのコードは

 protected void Timer1_Tick(object sender, EventArgs e)
    {
        if ((List<AllPostInformation>)Session["AllNewsPostCollection"] != (List<AllPostInformation>)Session["CheckExistData"])
        {
            if ((List<AllPostInformation>)Session["AllNewsPostCollection"] != null)
            {


                List<AllPostInformation> o = new List<AllPostInformation>();
                o = (List<AllPostInformation>)Session["AllNewsPostCollection"];
                rptNews.DataSource = o;
                rptNews.DataBind();
            }
            Session["CheckExistData"] = Session["AllNewsPostCollection"];
        }
    }

およびaspページ

 <asp:UpdatePanel runat="server" ID="upTimer">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
        <ContentTemplate>
            <asp:Timer ID="Timer1" runat="server" Interval="5000" />
        </ContentTemplate>
    </asp:UpdatePanel>
4

1 に答える 1

0

このリンクの投稿を見ると、UpdatePanel 内の UserControls を使用した部分的なポストバックでフォーカスが失われた場合、更新されるアイテムを配置する代わりに、更新パネルにタイマー コントロールを配置する必要がないことがわかります。

于 2012-07-09T13:45:33.393 に答える