gpt4 book ai didi

jquery - ASP.NET OnServerClick 和 OnClientClick

转载 作者:行者123 更新时间:2023-12-01 01:15:00 32 4
gpt4 key购买 nike

我在解决这个问题时遇到了一些麻烦

这是我的login.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="EcnManager.Web.Login" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="Content/bootstrap.min.css" rel="stylesheet" />
<script src="Scripts/jquery-1.9.1.js"></script>
</head>
<body>
<div class="container">
<div class="row" style="height:30px">
<div class="col-lg-12"></div>
</div>
<div class="row">
<div class="col-lg-4"></div>
<div class="col-lg-4">
<div class="panel panel-primary">
<div class="panel-heading">ECN Manager Login</div>
<div class="panel-body">
<form role="form" runat="server">
<div class="form-group">
<label for="txtUserName" class="control-label">Login Name</label>
<input id="txtUserName" runat="server" class="form-control" placeholder="Login Name"/>
<%--<asp:TextBox ID="txtUserName" runat="server" CssClass="form-control"></asp:TextBox>--%>
</div>
<div class="form-group has-error">
<label for="txtPassword" class="control-label">Password</label>
<input id="txtPassword" runat="server" type="password" class="form-control" placeholder="Password"/>
<%--<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" CssClass="form-control" ></asp:TextBox>--%>
</div>
<div class="form-group">
<div class="row">
<div class="col-lg-3">
<%--<input runat="server" id="btnLogin" type="button" value="Login" class="btn btn-default" onserverclick="btnLogin_Click"/>--%>
<asp:Button ID="btnLogin" runat="server" class="btn btn-default" Text="Login" OnClientClick="btnLoginClick()" OnClick="btnLogin_Click" />
</div>
<div class="col-lg-9">
<asp:CheckBox ID="chkRemeberMe" runat="server" />
<label class="text-center">Remember Me</label>
</div>
</div>
</div>
</form>
</div>
<div class="panel-footer"></div>
</div>
</div>
<div class="col-lg-4"></div>
</div>
<div class="row" style="height:30px">
<div class="col-lg-12"></div>
</div>
</div>
<script type="text/javascript">
function btnLoginClick() {
alert("im here");
return false;
};
</script>
</body>
</html>

当我运行并单击 btnLogin 时,我确实得到“我在这里”,但它也会触发服务器端事件。我将 false 传递给 btnLoginClick 以防止这种情况发生。我错过了什么吗?非常感谢任何帮助。

编辑

尤里·加兰特(Yuriy Galanter)的回答确实解决了这个问题。谢谢

现在我也在尝试做 jcalabris 答案,以便我可以学习

所以我做了以下操作,不使用 asp 按钮,而是使用按钮类型的输入

<input runat="server" id="btnLogin" type="button" value="Login" class="btn btn-default" onserverclick="btnLogin_Click"/>
<%--<asp:Button ID="btnLogin" runat="server" class="btn btn-default" Text="Login" OnClientClick="btnLoginClick()" OnClick="btnLogin_Click" />--%>

我更改了我的 JavaScript 代码,如下

<script type="text/javascript">
$("#btnLogin").click(function(){
event.preventDefault();
return false;
});
</script>

这是正确的吗,对我来说它不起作用

我还尝试了以下方法

<script type="text/javascript">
$("#btnLogin").click(function(e){
e.preventDefault();
return false;
});
</script>

我觉得我做错了什么。

非常感谢您的帮助。

谢谢

最佳答案

您还必须在按钮声明中返回 false。

而不是

OnClientClick="btnLoginClick()"

试试这个:

OnClientClick="return btnLoginClick()"

由于您的函数 btnLoginClick 已经返回 false - 上面将该结果返回给事件,从而有效地取消了回发

关于jquery - ASP.NET OnServerClick 和 OnClientClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22045654/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com