简体   繁体   English

在ASP.NET中在ServerSide之前执行ClientSide

[英]Execute ClientSide before ServerSide in ASP.NET

I am using ASP.NET 3.5. 我正在使用ASP.NET 3.5。

When the user click on say btnSubmit I want to first execute some JavaScript code and then execute some C#/VB.NET code. 当用户单击说btnSubmit时,我要先执行一些JavaScript代码,然后再执行一些C#/ VB.NET代码。

Is this possible? 这可能吗? If so how would one do it? 如果是这样,怎么办?

Thanks in advance! 提前致谢!

This is very simple: 这很简单:

http://msdn.microsoft.com/en-us/library/7ytf5t7k.aspx http://msdn.microsoft.com/zh-CN/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>

让JavaScript执行,然后使用javascript中的xmlhttprequest调用Web服务

Of course, you simply add an onClick event all JS code is executed before the postback. 当然,您只需在回发之前添加一个onClick事件即可执行所有JS代码。

If the code is for validation and you decide you don't want to submit you can return false and it won't post. 如果该代码用于验证,并且您决定不想提交,则可以返回false,并且不会发布。

<asp:Button OnClientClick="" />

Thanks for the answer guys! 谢谢你们的回答!

To execute a function from code behind one would do this in VB.NET 要从后面的代码执行功能,请在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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM