我正在使用VB后端在ASP.NET中编写程序。我试图在子程序运行之前使用javascript打开一个弹出窗口,并在程序结束时将其关闭,作为向用户提供进度指示器的方法,因为这些子程序调用中的一些可能需要几分钟。 / p>
我的代码如下。
Response.Write("<script type='text/javascript'>function openWin() {myWindow = window.open('Status.aspx?FileName=" & gstrCurrentFile & "&FileNumber=" & gCurrentItem & "&Total=" & gTotal & "', 'Status', 'width=200, height=100');};</script>")
RunOACW2()
Response.Write("<script type='text/javascript'>function closeWin() {myWindow.close();}</script>")
但是,我从未看到弹出窗口,但我很确定javascript是正确的。出了什么问题?
答案 0 :(得分:1)
简单的例子。
<script type="text/javascript">
function ShowAlertMessage()
{
alert("button clicked"); //instead of alert, you should do something else. alert stops the whole JavaScript execution, but it's good enough for example purposes.
}
</script>
<asp:Button id="Btn1" Text="Click me!" OnClientClick="ShowAlertMessage();" OnClick="Btn1_Click" />
JavaScript函数将执行。然后当它完成执行时,页面将开始回发到服务器。
从服务器端,您可以使用RegisterClientStartupScript在完成后显示警告消息。但普通的JavaScript警报框很糟糕。它们需要用户注意,无法设置风格。
不要使用提醒,只需显示不确定的进度条或标有“#34;正在加载...&#34;”的标签。一旦回发完成,那就可以消失。或者您可以使用通知库(例如Noty)来显示加载消息。