【发布时间】:2018-08-02 10:20:05
【问题描述】:
我正在使用以下代码制作一个简单的登录屏幕:
<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 从 “http://localhost:15726/Pages/Login.aspx”到 "http://localhost:15726/Pages/Login.aspx?txtEmail=&txtPassword=&ctl00=LOGIN"
我无法在表单中添加 Runat=Server 属性,因为我在此页面上有 2 个表单(登录和注册)
感谢任何帮助。
我尝试过的:
使用 Runat=Server、onclick() 和 OnServerClick()(交换并更改它们)
使输入类型=提交/输入类型=按钮
这些都不起作用。
【问题讨论】:
-
onclick仅适用于客户端处理程序。您能否向我们展示更多后端,让我们更好地了解此页面的设置方式? -
这是网络表单,对吧?在这种情况下,如果您不能使用 runat=server,那么我认为您不能将按钮直接绑定到服务器端函数,但您应该为表单提交,然后您可以在页面加载中检查请求参数(或预加载或您使用的),然后根据输入调用正确的方法。
-
先做一些关于webforms基础的教程也许是明智的。
-
XY Problem。这不是 ASP.NET Web 窗体的工作方式。