3
我有一些麻煩搞清楚這一個ASP.NET OnServerClick和的OnClientClick
這裏是我的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以防止發生這種情況。我錯過了什麼。任何幫助是極大的讚賞。
編輯
尤里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>
我想我做錯了什麼。
感謝您的幫助了很多。
謝謝