如何使用Javascript在ASP.NET C#上循环公共方法?

如何使用Javascript在ASP.NET C#上循环公共方法?,javascript,c#,asp.net,ajax,webmethod,Javascript,C#,Asp.net,Ajax,Webmethod,我有以下方法: //BOLO stands for Be On The Lookout [WebMethod] public void LoadBolos() { List<string> bolos; //If not loaded before if (ViewState["bolos"] == null) { List<string> bolos = GetBolos(); ViewState["b

我有以下方法:

//BOLO stands for Be On The Lookout
[WebMethod]
public void LoadBolos()
{
    List<string> bolos;

    //If not loaded before
    if (ViewState["bolos"] == null)
    {
        List<string> bolos = GetBolos();

        ViewState["bolos"] = bolos;
        ViewState["index"] = 0;
    }

    else
    {
        bolos = (List<string>)ViewState["bolos"];
    }

    int index = ViewState["index"] != null ? (int)ViewState["index"] : 0;

    if (bolos.Count > 0)
    {
        imgBolo.ImageUrl = bolos[index];
        index++;
        index = index >= bolos.Count ? 0 : index;
    }

    ViewState["index"] = index;
}
我需要每10秒循环一次这个方法,这样我就可以刷新aspx页面上的图像

然而,尽管我在js和cs上设置了一些断点,但它确实执行了该函数,但它从未到达webmethod


我遗漏了什么吗?

您是否在浏览器控制台中查看错误?
“它确实执行了该功能,但从未到达webmethod”
-那么具体在哪里失败?JavaScript控制台上有错误吗?是否调用了
BoloSwitch()
?是否发出了AJAX请求?服务器的响应是什么?这是奇怪的部分,控制台上没有错误,如果我在BoloSwitch上放置一个断点,它会到达它。如果我去网络,它说,以500的结果张贴。但在屏幕上看不到更新,也没有命中cs上LoadBolos上的断点。
window.onload = function ()
{
    BoloTimer();
}

function BoloTimer()
{
    BoloSwitch();

    boloTimer = setTimeout
    (
        function ()
        {
            boloTimer = null;
            BoloTimer();
        }, 

        10000
    );
}

function BoloSwitch()
{
    $.ajax
    (
        {
            type: 'POST',
            url: 'NameOfPage.aspx/LoadBolos"',
            data: '{ }',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success:
            function (msg)
            {
                console.log("SUCCESS");
            }
        }
    );
}