输入提交onclick和onserverclick无法正常工作

时间:2018-02-22 14:13:35

标签: c# html asp.net

我正在使用以下代码在简单的登录屏幕上工作:

<form id="login">
<div class="formHeader">
  <h1>Login</h1>
</div>
<div class="formDiv">
  <input type="text" placeholder="Email" name="txtEmail"/>
  <div class="inputImage fa fa-user"></div>
</div>
<div class="formDiv">
  <input type="password" placeholder="Password" name="txtPassword"/>
  <div class="inputImage fa fa-lock"></div>
</div>
<div class="formDiv">
  <label id="remember">
    <input type="checkbox" name="cbxRemberMe" value="Checked"/>
    <div class="checkbox"></div><span>Remember me</span>
  </label>
</div>
<div class="formDiv">
  <input type="submit" value="LOGIN" onclick="btnLogin_Click" />
</div>
<div class="formFooter"><a class="forgot" href="#">Forgot Password</a></div>

和后端代码

 protected void btnLogin_Click(object sender, EventArgs e) 
{

}

但按钮根本不会调用后端代码。

除了URL更改之外没有任何反应 &#34; http://localhost:15726/Pages/Login.aspx&#34;至 &#34; http://localhost:15726/Pages/Login.aspx?txtEmail=&txtPassword=&ctl00=LOGIN&#34;

我不能在表单中放置Runat = Server属性,因为我在此页面上有2个表单(登录和注册)

感谢任何帮助。

我尝试过:

  1. 使用Runat = Server,onclick()和OnServerClick()(交换并更改它们)

  2. 输入类型=提交/输入类型=按钮

  3. 这些都不起作用。

2 个答案:

答案 0 :(得分:0)

您尝试过这两种方法吗?

<asp:Button runat="server" id="btnLogin" Text="LOGIN" OnClick="btnLogin_Click">

< button onserverclick="btnLogin_Click" runat="server" id="btnLogin">LOGIN</button>

修改

这应该是评论而不是答案。对不起。

但是,整个表单似乎与“webform”形式不兼容。如果您希望能够从表单元素中读取值,那么表单也应该有runat="server"标记。

答案 1 :(得分:0)

首先,您需要指定它是服务器控件还是客户端控件。指定runat=server,以表明该代码应可用于Code-Behind文件。

最后,对javascript使用任何OnClick函数,对OnServerClick使用任何后面的代码

这样的事情,

aspx

纯HTML

<input type="submit" runat="server" value="LOGIN" onclick="return js_btnLogin_Click()" OnServerClick="btnLogin_Click"/>

或使用ASPX控件

<asp:Button runat="server" Text="LOGIN" OnClientClick="return js_btnLogin_Click()" OnClick="btnLogin_Click">

javascript

<script type="text/javascript">

    function js_btnLogin_Click()
    {
      //return false, in case if you want to stop posting the form to the server
      return true;
    }

</script>

隐藏代码

protected void btnLogin_Click(object sender, EventArgs e) 
{

}