将setInterval与PageMethods一起使用

时间:2012-05-09 10:04:01

标签: setinterval scriptmanager pagemethods

我试图使用setInterval每X秒调用一次LoadFile()函数,我想在我的文档就绪函数中调用它,并且我的aspx页面上的scriptmanager将EnablePageMethods设置为true。 但这似乎不起作用并返回PageMethod未定义的错误。 我的代码如下:


<script type="text/javascript" >
    $(document).ready(function () {
        setInterval(function () {
            PageMethods.LoadFile();              
        }, 1000); 
    });
</script>

    [WebMethod]
    public void LoadFile()
    {
        Collection<string> stringcollection = new Collection<string>();
        divLogSummary2.InnerHtml = "";
        try
        {
            StringBuilder content = new StringBuilder();
            if (string.IsNullOrEmpty(logFilePath))
            {
                return;
            }

            if (File.Exists(logFilePath))
            {

                using (FileStream fs = new FileStream(logFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
                    using (StreamReader sr = new StreamReader(fs))
                    {
                        while (!sr.EndOfStream)
                        {
                             stringcollection.Add(sr.ReadLine());
                        }
                    }                        

                }
                for (int i = stringcollection.Count - 30 ; i < stringcollection.Count; i++)
                {
                    divLogSummary2.InnerHtml = divLogSummary2.InnerHtml + " <BR> " +                       stringcollection[i];
                }

            }
        }
        catch (Exception)
        {

        }
    }

我对Ajax相对较新,非常感谢任何帮助和见解。

谢谢,

1 个答案:

答案 0 :(得分:0)

您的方法应声明为静态,以便与PageMethods一起使用。

[WebMethod]
public static void LoadFile()
{
  .....
}

祝你好运