【问题标题】:Autorefresh function ASP.NET C#自动刷新功能 ASP.NET C#
【发布时间】:2015-06-09 03:39:16
【问题描述】:

我在 Code behind 中有一个函数,它返回一个标签 lblvisible.text

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

【问题讨论】:

    标签: javascript jquery asp.net ajax autoload


    【解决方案1】:

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

    【讨论】:

    • 好吧。我受够了。但是有些不对劲。每 5 秒,它发布 lblvisible.text。而且,它继续我的第一次加载是:001 第二次加载:001001
    • 请详细说明。您的评论没有解决您当前的问题..
    【解决方案2】:

    使用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);     
    }
    

    在这种情况下不需要在serverside 上使用timer

    【讨论】:

      猜你喜欢
      • 2013-05-07
      • 1970-01-01
      • 2016-04-05
      • 2018-01-15
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多