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