我无法在WebForms中使用按钮事件。
这是我的母版页
<body>
<form runat="server">
<header id="header">
<div class="container">
<div class="row">
你可以看到我有runat="server"
这是我的页面与按钮:
<div class="slide-text">
<div class="contact-form bottom">
<h2>Sign In</h2>
<div class="form-group">
<input type="text" id="Email" runat="server" name="Mail" class="form-control" required="required" placeholder="E-Mail"/>
</div>
<div class="form-group">
<input type="password" id="Password" runat="server" name="Password" class="form-control" required="required" placeholder="Password"/>
</div>
<div class="form-group">
<asp:hyperlink navigateurl="SignUp" runat="server" text="Registration"/>
</div>
<div class="form-group">
<asp:button text="Sign In" id="SignInSubmit" cssclass="btn btn-submit" runat="server" onclick="SignInSubmit_Click"/>
</div>
</div>
</div>
你可以看到,我有一切必要的东西。
这是后面的代码:
protected void SignInSubmit_Click(object sender, EventArgs e)
{
User user = new User();
user.Auth(Email.Value, Password.Value);
if (user.IsAuth)
{
Session.Add("User", user);
Response.Redirect("Account");
}
}
我使用了调试器,但事件就是不起作用。
但是当我这样
<form runat="server">
<div class="slide-text">
<div class="contact-form bottom">
<h2>Sign In</h2>
<div class="form-group">
<input type="text" id="Email" runat="server" name="Mail" class="form-control" required="required" placeholder="E-Mail"/>
</div>
<div class="form-group">
<input type="password" id="Password" runat="server" name="Password" class="form-control" required="required" placeholder="Password"/>
</div>
<div class="form-group">
<asp:hyperlink navigateurl="SignUp" runat="server" text="Registration"/>
</div>
<div class="form-group">
<asp:button text="Sign In" id="SignInSubmit" cssclass="btn btn-submit" runat="server" onclick="SignInSubmit_Click"/>
</div>
</div>
</div>
</form>
它正在工作(当然我正在删除母版页中的form
)。
我不明白为什么它不工作。
注我没有收到异常,只是事件未触发。
此外,当我不使用母版页而将form runat
放在主体之后时,我也不能使用事件。
其工作原理如下:
<form runat="server">
<div class="slide-text">
<div class="contact-form bottom">
<h2>Sign In</h2>
<div class="form-group">
<input type="text" id="Email" runat="server" name="Mail" class="form-control" required="required" placeholder="E-Mail"/>
</div>
<div class="form-group">
<input type="password" id="Password" runat="server" name="Password" class="form-control" required="required" placeholder="Password"/>
</div>
<div class="form-group">
<asp:hyperlink navigateurl="SignUp" runat="server" text="Registration"/>
</div>
<div class="form-group">
<asp:button text="Sign In" id="SignInSubmit" cssclass="btn btn-submit" runat="server" onclick="SignInSubmit_Click"/>
</div>
</div>
</div>
</form>
希望你能帮我。先谢了。
1条答案
按热度按时间uqzxnwby1#
当你创建网页表单时,确保你选中了使用已经包含表单的母版页的复选框。
在Webform.aspx上不需要另一个窗体,它已经由母版页提供了。