От новичка до гуру: Курсы программирования на CyberDuff

Изображение не появляется при отображении Div с загрузкой изображения во время обратных передач ASP.net

Я собираюсь показать Div с загружаемым изображением во время обратной передачи страницы, чтобы информировать пользователя о выполняемой операции. Я использую простую функцию javascript, которая показывает div, когда я вызываю этот JavaScript из кнопки ввода html (без обратной передачи), div отображается нормально. Но когда я использую его с кнопкой возврата (путем установки свойства OnClientClick), элемент div появляется, но без выгруженного изображения (отображается в виде поля с незагруженным изображением). Я не могу понять, в чем проблема, я даже пытался добавить изображение в качестве скрытого элемента управления html, чтобы оно было предварительно загружено до обратной передачи, но без преобладания. Вот мой aspx-код:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" language="javascript">
        function PleaseWait(message) {
            message = message ? message : PleaseWaitDefaultMessage;
            var dsoctop = document.all ? window.document.body.scrollTop : window.pageYOffset;
            var el = document.getElementById("PleaseWaitDiv");
            el.style.top = (dsoctop + 100) + "px";
            el.style.left = "0px";
            el.innerHTML = "<div style='background-color:white;border: solid 0px black; width:100%;'><img src='" + WebSiteBaseURL + "Images/bigrotation2.gif' /><h3>" + message + "</h3></div>";
            el.style.display = "";
        }
        </script>
    <asp:Literal ID="InitLiteral" runat="server" EnableViewState="false"><script>var PleaseWaitDefaultMessage = "{0}"; var WebSiteBaseURL = "{1}"; </script>
    </asp:Literal>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <div id="PleaseWaitDiv" style="width: 100%; position: absolute; top: 0px; display: none;
            text-align: center; z-index: 2; max-width: 1024px; min-width: 600px; height: 260px;
            overflow: hidden; background: #fff; margin: 0 auto; left: 0; right: 0;">
        </div>
        <asp:Button ID="btnTestPleaseWait" runat="server" OnClientClick="PleaseWait();" 
            Text="Test Please wait with postback" onclick="btnTestPleaseWait_Click"
            />
        <input type="button" onclick="PleaseWait();" value="Test Please wait no postback" />
    </div>
    </form>
</body>
</html>

и вот мой код:

 protected void Page_Load(object sender, EventArgs e)
    {
      InitLiteral.Text = string.Format(InitLiteral.Text, "Please Wait.....",        Page.ResolveClientUrl("~/"));

    }

        protected void btnTestPleaseWait_Click(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(5000);
        }

  • Я думаю, вы не передаете сообщение функции onclick="PleaseWait(Process is going on);" 05.12.2013
  • @Dotnet, спасибо, но если я не передал сообщение функции, она примет сообщение по умолчанию: сообщение = сообщение? сообщение: PleaseWaitDefaultMessage; 05.12.2013
  • Я точно скопировал ваш код, за исключением того, что жестко закодировал URL-адрес изображения. Оно работает. Запустите Fiddler или какую-нибудь сетевую трассировку, я думаю, вы можете получить 404 на изображении. Что, если вы поместите код Page_Load в if(!IsPostback)? 12.12.2013

Ответы:


1

У меня была такая же проблема. Я решил это, загрузив то же изображение в другой тег img с атрибутом style="dispaly:none". (Не делайте visible="false")

Тег img с display:none заставляет браузер загружать изображение при загрузке страницы.

Я думаю, что проблема возникает из-за того, что запрос POST отправляется до того, как загрузится div, поэтому запрос GET для IMG отправляется сразу же ПОСЛЕ отправки запроса POST, а поскольку сервер занят обработкой запроса POST, требуется время для ответа, из-за которого браузер не работает. для отображения изображения.

Надеюсь это поможет!

19.08.2015
Новые материалы

Представляем Narwhal Technologies (Nrwl)
6 декабря 2016 г. Маунтин-Вью, Калифорния С тех пор, как Виктор Савкин и я (Джефф Кросс) присоединились к команде Angular в Google на заре Angular 1, Angular продемонстрировал феноменальный..

Путь AWS  — «Изучение машинного обучения — 10 начинающих ИИ и машинного обучения на AWS».
Универсальный ресурсный центр для изучения искусственного интеллекта и машинного обучения. НОЛЬ или ГЕРОЙ, начните свое путешествие здесь. Получите решения и пройдите обучение у экспертов AWS...

5 простых концепций Python, ставших сложными
#заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

«Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

Отслеживание состояния с течением времени с дифференцированием снимков
Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..