Два дня ищу решение своей проблемы и не нашел ничего, что могло бы помочь. У меня есть две страницы: страница 1 и страница 2
Страница1 содержит параметры, которые будут отправлены на страницу2 и кнопку "Создать"
Страница 2 содержит GridView
, а на page_load
у меня есть
GetParameters() ; // extract parameters
PrepareParameters(); // prepare local variable
DataTable dt = CreateDataTable(); // create the BoundField/Columns based on prepared local variables
myGridView.DataSource = dt;
myGridView.DataBind();
Моя проблема в том, что метод PrepareParameters()
требует времени из-за огромного количества данных, даже если он оптимизирован. Когда я нажимаю кнопку «Создать», браузер не переходит на страницу 2, а вместо этого не отвечает и остается на странице 1, и пользователь не знает, что происходит.
Итак, мне интересно, как перенаправить браузер на страницу 2 и показать пользователю анимацию загрузки в сетке до тех пор, пока PrepareParameters()
не завершит обработку данных и не отобразит GridView
после завершения?
Спасибо за ответ.
1 ответ
Для этого вы можете использовать Javascript. Получите любой образ загрузчика, который вы предпочитаете, их много в сети, погуглите
Поместите это изображение вверху/внизу сетки, назначьте ему некоторый идентификатор и установите свойство по умолчанию Visible = false. Теперь при нажатии кнопки вызовите javascript, где вы сделаете это изображение видимым.
Образец кода
<html>
<head>
<script type="text/javascript" language="JavaScript">
function Loading() {
document.getelemanebyId('Img').visibility = visible;
}
</script>
</head>
<body>
<form action="" method="POST" id="myForm">
//Gridview control here
<img id="Img" src="give image file path" runat="server" visible="false"/>
<button name="Create" onClientClick="Loading();" runat="server" >
</form>
</body>
</html>
Похожие вопросы
Новые вопросы
asp.net
ASP.NET - это среда разработки веб-приложений Microsoft, которая позволяет программистам создавать динамические веб-сайты, веб-приложения и веб-службы. Полезно использовать этот тег в сочетании с тегом типа проекта, например, [asp.net-mvc], [asp.net-webforms] или [asp.net-web-api]. НЕ используйте этот тег для вопросов о ASP.NET Core - используйте вместо этого [asp.net-core].