当前位置: 代码迷 >> ASP.NET >> Timer控件的使用有关问题。
  详细解决方案

Timer控件的使用有关问题。

热度:8840   发布时间:2013-02-25 00:00:00.0
Timer控件的使用问题。。。
想利用Timer定时的执行一些方法。。。下面给出代码:

HTML code
<asp:ScriptManager ID="ScriptManager1" runat="server" />    <div>        <asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="10000">        </asp:Timer>    </div><li><a href="#">消息                    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">                        <Triggers>                            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />                        </Triggers>                        <ContentTemplate>                            <asp:Label ID="mesnum" runat="server" ForeColor="#CC0000"></asp:Label>                        </ContentTemplate>                    </asp:UpdatePanel>                </a></li>


C# code
protected void Timer1_Tick(object sender, EventArgs e)        {            string userid = Session["UserId"].ToString();            DataTable dt = new MessagesDAO().mescheck(new ModelMessages(userid));            mesnum.Text = dt.Rows.Count.ToString();            Timer1.Enabled = true;        }


就是我想定时的刷新并且获取消息条数。。。为什么总是没有值呢。。。如果我直接在Timer1_Tick方法里面这样赋值:
mesnum.Text = "1";就会定时的刷新。。。如果像上面的代码那样绑定的话它就不刷新了。。这是怎么回事呢?

------解决方案--------------------------------------------------------
if(Session["UserId"]==null)
{
 mesnum.Text = "Session为null";
}
else
{
string userid = Session["UserId"].ToString();
DataTable dt = new MessagesDAO().mescheck(new ModelMessages(userid));
mesnum.Text = dt.Rows.Count.ToString();
}
Timer1.Enabled = true;
  相关解决方案