单击ASP.NET按钮时执行JavaScript函数

时间:2012-02-10 06:53:05

标签: asp.net

我有一个按钮:

<asp:Button
    runat="server"
    ID="btNew"
    OnClick="ButtonNew_Click"
    Text="New" />

我有OnClick方法:

protected void ButtonNew_Click(object sender, EventArgs e)
{

}

在同一页面(.aspx)上,我有一个JavaScript函数:

function MyCheck()
{
    // Return true or false
}

当我点击按钮执行JavaScript函数(MyCheck())时,我想要。如果为true,请执行ButtonNew_Click()。如果为false,请不要执行ButtonNew_Click()

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

使用:

function clientfunction()
{
    // Do the client side validations here.

    // Now call the server side button event explicitly
    __doPostBack('OnClick','button_ID');
}

在按钮onclientclick上,调用函数clientfunction():

<asp:Button runat="server" ID="btNew" OnClick="ButtonNew_Click" Text="New" onclientclick="clientfunction()"/>

答案 1 :(得分:-1)

试试这个:

btNew.Attributes.Add("onclick", "return MyCheck();");

答案 2 :(得分:-1)

USE OnClientClick

OnClientClick=" MyCheck"

如果您的方法将返回false,则ButtonNew_Click将不会被调用。

答案 3 :(得分:-1)

服务器端代码:

using System.Web.UI;
using System.Web.UI.WebControls;

namespace count
{
    public partial class WebForm1 : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = "button clicked";
        }
    }
}

客户方:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs"      Inherits="count.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function aa() {
                return true;
            }            
        </script>
    </head>

    <body>
        <form id="form1" runat="server">            
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="return aa()" Text="Button" />
            <p>
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            </p>
        </form>
    </body>
</html>

如果在函数aa()JavaScript中你将返回false;它不会执行服务器端代码。

相关问题