Asp.Net WebForms 事件不工作

Asp.Net WebForms events not working

我无法在网络表单中使用按钮事件

这是我的主页

<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 runat 放在 body 之后我也不能使用事件

它只能这样工作

    <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>

希望你能帮帮我

提前致谢

当您创建网络表单时,请务必选中表示使用已包含表单的母版页的复选框。

您的 Webform.aspx 不需要其他表格,母版页已经提供了。