我有一个按钮:
<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()
。
有什么想法吗?
答案 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)
答案 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;它不会执行服务器端代码。