自动刷新功能ASP.NET C#

时间:2015-06-09 03:39:16

标签: javascript jquery asp.net ajax autoload

我在Code后面有一个函数返回一个Label lblvisible.text

 protected void AutoloadDen()
 {
    //somecode
    lblvisible.Text = //somecode;
    // i want to autorefresh function AutoloadDen in 5s
    //Such as: Autorefresh(AutoloadDen,5s)
 }

2 个答案:

答案 0 :(得分:0)

在asp.net标记上添加一个计时器控件,并在后面的代码中添加它的Tick事件。将Timer控制的间隔时间设置为5000,并在后面的代码中调用Timer的tick事件中的AutoloadDean()函数

答案 1 :(得分:0)

使用 System.Windows.Forms.Timer

private Timer timer1; 
public void InitTimer()
{
    timer1 = new Timer();
    timer1.Tick += new EventHandler(timer1_Tick);
    timer1.Interval = 5000; // in miliseconds
    timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
    AutoloadDen();
}

要使用ajax进行调用,您需要编写js函数,如下所示:

$(document).ready(function(){
      setTimeout(function(){
          $.ajax({
              url: "yourpage.aspx/AutoloadDen",
              method: "GET",
              dataType: "json",
              success:function(data){
                    $('#yourtextboxid').val(data);
              },
              error:function(data){
                    //Display error message 
              }
          });
      });
});

服务器端方法的一点修改

protected void AutoloadDen()
{
    //somecode
    JavaScriptSerializer serializer = new JavaScriptSerializer()
    return serializer.Serialize(YourText);     
}

在这种情况下,timer无需使用serverside