如何在Javascript和c#之间创建延迟动作

本文关键字:创建 延迟 之间 Javascript | 更新日期: 2023-09-27 18:06:43

我得到了这部分简单的代码

 if (Request.QueryString["TimeZone"] != null)
 {              
     Response.Write(
         @"<script language='javascript'>alert('TimeZone refreshed, u can now continue');</script>");
     Button1_Click(null, null);
 }

当我运行这个应用程序时,它会跳过警报并运行按钮单击动作。

如何在这些操作之间创建延迟 ?我想给客户端警报,然后执行Button1_Click动作。

如何在Javascript和c#之间创建延迟动作

按钮点击事件在服务器上运行。javascript被发送到客户端并在那里执行。

没有办法先调用javascript调用,因为它首先必须创建html并将其发送给客户端。

你可以选择通过调用一些javascript来创建一个客户端调用。

在c#中:

Button1_Click(null, null);

这样做(代码示例从这里):

 Response.Write(
     @"<script language='javascript'>var elem = document.getElementById('button1'); elem.onclick.apply(elem);</script>");

或使用jQuery:

 Response.Write(
     @"<script language='javascript'>$('button1')click();</script>");

假设按钮的id为button1。这可能会调用ASP。如果它有回调操作,请再次使用。NET,因此请确保您想要这样做。

否则,调用一段只执行客户端操作的javascript,而不需要回发,但我不知道从您当前的代码示例中是否可能。

谢谢你的帮助,非常感谢你@Patrick Hofman !我已经找到了一个解决方案,就像这样简单

创建了一个Java函数,并在那里执行了my button的click动作

<script type="text/javascript">

    function myFunction() {

        document.getElementById('Button1').click(); 
    }
</script>

然后只是替换这个' Button1_Click(null, null);这样才能运行这个

if (Request.QueryString["TimeZone"] != null)
            {
                Response.Write(@"<script language='javascript'>alert('TimeZone refreshed, u can now continue');</script>");
                Page.ClientScript.RegisterStartupScript(this.GetType(), "myFunction", "myFunction()", true);

            }