Я пытаюсь обновлять метку каждые 5 секунд, используя AJAX и интервал, но на самом деле это работает, только если я вручную нажимаю кнопку обновления. Без перезагрузки страницы значение не изменяется.
Я использую Webforms.
Клиентская сторона:
JavaScript:
setInterval(function () {
function GetStatus() {
$.ajax({
type: "POST",
url: "RunningConsolePage.aspx/GetStatus",
data: '{name: "' + $("#<%=lblStatus.ClientID%>")[0].value + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
$("#<%=lblStatus.Text=GetStatus()%>")
}
}, 5);
HTML:
<asp:Button ID="btnQArun" Text="QA" OnClick="btnQArun_Click" CssClass="btn btn-info btnSize" OnClientClick="Confirm('QA')" runat="server" />
<asp:Label ID="lblStatus" Text="Status" runat="server"/>
Сторона сервера:
[System.Web.Services.WebMethod]
public static string GetStatus()
{
Random random = new Random();
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
return new string(Enumerable.Repeat(chars, 11)
.Select(s => s[random.Next(s.Length)]).ToArray());
}