2016-10-27 5 views
0

Прежде всего, я начинаю начинать, когда речь заходит о VBscripts. У меня есть только один файл asp, написанный на VB, который запускает командный файл. Дело в том, что я хочу что-то, что указывает на то, что страница загружается как gif. Пакет занимает почти 10 минут, и я получаю пустую страницу, пока она не будет финиширована.Показать gif перед тем, как появится страница

Это весь мой код

<%@ Language = VBScript %> 
<HTML> 
    <script runat="server" language=VBScript> 
     ' The batch file is running here 
     Dim myExecutor 
     Dim commandline 

     commandline = "cmd.exe /c C:\test.bat " 
     Set myExecutor = Server.CreateObject("WScript.Shell") 
     myExecutor.Run commandline,0,true 
     Set myExecutor = Nothing 
     Response.Write "The batch run is finnished <p> " 
    </script> 
    <body> 
     The batch is loading. <!--renders after batch is finnished :/ --> 
    </body> 
</HTML> 

Я попытался запустить событие OnClick <asp:Button Text="Click here" OnClick="run_batch" runat="server"/>, но дает мне ошибку 500 страниц, когда я использую sender As Object, e As EventArgs в качестве параметров, вероятно, потому что я не имею классы и только runns все в один файл asp.

Спасибо.

ответ

1

Проблема в том, что ваш код будет выполнен, как только страница загрузится. Определите, что вы хотите сделать как Sub, и вызовите это в обработчике событий onload. Событие загорится, как только все на странице будет загружено.

Я проверил следующее в hta, и он работает. Не уверен, насколько хорошо он преобразуется в asp.

<HTML> 
    <script language=VBScript> 
     sub DoStuff() 
      document.Write "<p>Doing stuff </p>" 
      CreateObject("WScript.Shell").Run "ping localhost",0,true 
      document.Write "<p>The batch run is finished <p> " 
     end sub 
    </script> 

    <body onload="DoStuff()"> 
    </body> 
</HTML> 

В качестве альтернативы для кнопки подхода просто использовать

<button onclick="DoStuff()"> Do Stuff </button> 
+0

Ваш код работает, но я могу запустить файл .hta без приглашения, чтобы скачать или запустить его? Chrome просто загружает файл .hta. Я хочу запустить его в браузере. – roYal

+0

У меня нет настройки веб-сервера на моей машине, поэтому я создал .hta. Вы должны просто взять подход из этого кода и применить его к своему оригинальному скрипту. – FloatingKiwi

+0

Я запускаю это из визуальной студии с локальным IIS. Кажется, я могу запускать .hta explorer и другие браузеры загружать только файл. . Кажется, это своего рода интернет-исследователь. – roYal

Смежные вопросы