В веб-форме у меня есть следующая настройка jQuery для вызова метода из моего файла кода.
<script src="js/jquery-1.7.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#newBtn").click(function () {
$.ajax({
type: "POST",
url: "AJAXCaller.aspx/GetTimer",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false
});
return false;
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="#" class="link1" runat="server">Click here</a><br /><br />
<asp:LinkButton ID="newBtn" runat="server" Text="ASP Link" />
<asp:Label ID="time_lbl" runat="server" />
</div>
</form>
</body>
А внутри кода у меня есть следующее:
[WebMethod]
public void GetTimer()
{
time_lbl.Text = DateTime.Now.ToString();
}
Я понимаю, что в настоящее время это не работает в текущем синтаксисе.
Мне удалось получить доступ к методу, если я установил его на статический, однако я не хочу просто возвращать строку или одно значение. Я хочу получить доступ к методу, который, в свою очередь, обращается к веб-службе, чтобы вернуть коллекцию данных.
Я хотел бы знать, возможно ли выполнить что-то вроде этого, где я могу вызвать метод и заставить его обновить поле в пользовательском интерфейсе, например, описанный выше метод, где при вызове сценария на стороне сервера для пользовательского интерфейса будет значение для поля даты?
Заранее спасибо за любые предложения.