Код: Выделить всё
$(function () {
$("#").click();
})
Код: Выделить всё
protected void btnTest_Click(object sender, EventArgs e)
{
Page.RegisterAsyncTask(new PageAsyncTask(async () =>
{
await TestAsync();
}));
}
private async Task TestAsync()
{
var apiCall1 = FakeApiCall();
var apiCall2 = FakeApiCall();
var apiCall3 = FakeApiCall();
// Runs in parallel to improve performance. Should take ~5 seconds to complete instead of ~15 seconds
await Task.WhenAll(apiCall1, apiCall2, apiCall3);
var result1 = await apiCall1;
var result2 = await apiCall2;
var result3 = await apiCall3;
lblTest.Text = "Async Postback Finished!";
upUpdatePanel.Update();
}
private async Task FakeApiCall() {
Task.Delay(5000);
return true;
}
Чего я ожидал было ли состояние страницы оставаться неизменным, а менялось бы только содержимое внутри UpdatePanel.
Как я могу решить эту проблему? Возможно ли это вообще, или мне следует использовать другой метод, например вызов веб-службы с использованием AJAX и заполнение пользовательского интерфейса Javascript? Но у этого есть обратная сторона: предоставление кода и веб-метода клиенту и увеличение размера js-файла, который клиент должен загрузить. Есть ли какие-либо недостатки в попытке сделать это в коде с помощью асинхронного PostBack?
Подробнее здесь: https://stackoverflow.com/questions/766 ... e-state-to