ASP.net Page_Load似乎没有被调用

时间:2017-11-17 22:16:54

标签: c# asp.net validation requiredfieldvalidator

我是asp.net的新手。我的 login.aspx 页面有这一行:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Users.aspx.cs" %>

和我的 Users.aspx.cs 文件包含以下代码行:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Diagnostics;


public partial class Users : System.Web.UI.Page
{

    protected void LoginButton_Click(object sender, EventArgs e)
    {

        if (Page.IsValid)
        {
            LoginButton.Text = "My form is valid!";
        }
    }   

}

login.aspx 页面上,我正在使用

  

RequiredFieldValidator 和   的RegularExpressionValidator

验证电子邮件和密码字段。

现在,我必须确保验证完成并做更多的事情。但是,我的代码在这里并不友好;它并没有计算这两个功能中的任何一个。事实上,我觉得它甚至没有进入 .cs 页面。我知道我在这里犯了一些愚蠢的错误。 谢谢!

P.S。验证工作正常,它正确返回错误消息。

编辑:Login.aspx 页面如下所示:

<%@ Page Language="C#"  AutoEventWireup="true" CodeBehind="Users.aspx.cs" %>

                <div class="card text-white bg-info mb-3 toHide" id="loginBlock">
                    <div class="card-header"><b>Login To Pay Your Bills Online</b></div>
                    <div class="card-body">

                            <div class="form-group">
                                <label for="emailToLogin">Email address<b class="text-danger">*</b></label>
                                <asp:TextBox id="emailToLogin" ValidationGroup="Login" runat="server" placeholder="Enter email" CssClass="form-control"  />
                                <asp:RequiredFieldValidator id="emailToLogin1" EnableClientScript="false" ValidationGroup="Login" CssClass="small text-danger" Display="Dynamic" runat="server" controltovalidate="emailToLogin" errormessage="Please enter your email!" />
                            </div>
                            <div class="form-group">
                                <label for="passwordToLogin">Password<b class="text-danger">*</b></label>
                                <asp:TextBox id="passwordToLogin" ValidationGroup="Login" TextMode="password" runat="server" placeholder="Password" CssClass="form-control"  />
                                <asp:RequiredFieldValidator id="passwordToLogin1" EnableClientScript="false" ValidationGroup="Login" CssClass="small text-danger" Display="Dynamic" runat="server" controltovalidate="passwordToLogin" errormessage="Please enter your password!" />


                            </div>
                            <div>

                            </div>
                            <asp:Button id="LoginButton" ValidationGroup="Login" runat="server" OnClientClick="LoginButton_Click" Text="User Login" CssClass="btn btn-warning"  />  

                    </div>
                </div>

1 个答案:

答案 0 :(得分:1)

OnClick将在服务器端工作,OnClientClick将在控制传递给服务器之前在客户端执行。 因此,您需要定义OnClientClick函数ClientSide或将OnClientClick更改为OnClick。

https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick(VS.80).aspx