代码之家  ›  专栏  ›  技术社区  ›  Etienne

在ASP.NET中,在服务器端之前执行clientside

  •  0
  • Etienne  · 技术社区  · 14 年前

    我正在使用ASP.NET 3.5。

    当用户单击say btnsubmit时,我想先执行一些javascript代码,然后执行一些c/vb.net代码。

    这有可能吗?如果有的话,怎么办?

    提前谢谢!

    5 回复  |  直到 9 年前
        1
  •  1
  •   Joel Martinez    14 年前

    这很简单:

    http://msdn.microsoft.com/en-us/library/7ytf5t7k.aspx

    <%@ Page Language="C#" %>
    <script runat="server">
        protected void Button1_Click(Object sender, EventArgs e)
        {
            Label1.Text = "Server click handler called.";
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <body>
      <form id="form1" runat="server">
        <asp:Button ID="Button1" Runat="server" 
          OnClick="Button1_Click" 
            OnClientClick="return confirm('Ready to submit.');" 
            Text="Test Client Click" />
        <br />
        <asp:Label ID="Label1" Runat="server" text="" />
      </form>
    </body>
    </html>
    
        2
  •  0
  •   WOPR    14 年前

    让javascript执行,然后从javascript调用带有xmlhttpRequest的Web服务

        4
  •  0
  •   Sruly    14 年前

    当然,您只需添加一个onclick事件,所有JS代码都在回发之前执行。

    如果代码是用于验证的,并且您决定不提交,则可以返回false,它将不会发布。

    <asp:Button OnClientClick="" />
    
        5
  •  0
  •   Etienne    14 年前

    谢谢你们的回答!

    要从代码后面执行函数,可以在vb.net中执行。

     Protected Sub btnSubmit_Click(blah blah) Handles btnSubmit.Click
    
        ClientScript.RegisterStartupScript(Me.GetType(), "hiya", "Message()", True)
        lblLabel.Text = "Hello my name is Etienne!"
    
    End Sub