我有一个未被调用的函数。我尝试使用调试来编写文件,它正确地写了第一个调试消息"debug0"
。但不是其他消息。
这是aspx:
<%@PageLanguage="C#"AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
<!DOCTYPE html PUBLIC >
<html>
<head runat="server">
<title/>
<link rel="stylesheet" type="text/css" href=".//style.css" />
</head>
<body>
<form class="container" runat="server">
<asp:login id="Login1" runat="server" style="width: 100%;">
<LayoutTemplate>
<div id="content">
<h1>blah<br>Site Login </h1>
<asp:TextBox class="field" placeholder="Username" ID="username" runat="server"> </asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="Login1">*
</asp:RequiredFieldValidator>
<br>
<asp:TextBox class="field" placeholder="Password" ID="password" runat="server" TextMode="Password"/>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" ErrorMessage="Password is required." ToolTip="Password is required." ValidationGroup="Login1">*
</asp:RequiredFieldValidator>
<br>
<asp:Button class="btn" ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="Login1"/>
<br>
<asp:Literal ID="FailureText" runat="server" EnableViewState="False"/>
</div>
</LayoutTemplate>
</asp:login>
</form>
</body>
</html>
代码背后:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
using System.Text;
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
File.AppendAllText(@"C:\inetpub\Site\log.txt", "debug0");
}
protected void Login1_Authenticate(object sender,AuthenticateEventArgs e)
{
File.AppendAllText(@"C:\inetpub\Site\log.txt", "debug1");
SqlConnection con = new SqlConnection();
try
{
con.ConnectionString =ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
con.Open();
string command = "SELECT Username FROM Members WHERE Usernam = @Username AND Password = @Password";
SqlCommand comm = new SqlCommand(command, con);
comm.Parameters.Add(new SqlParameter("Username", Login1.UserName));
comm.Parameters.Add(new SqlParameter("Password", Login1.Password));
SqlDataReader reader = comm.ExecuteReader();
if (reader.Read())
{
File.AppendAllText(@"C:\inetpub\Site\log.txt", "debug2");
if (reader["Username"].ToString() == "1")
{
Response.Redirect("Upload/index.php", false);
}
}
}
catch (Exception ex)
{
File.AppendAllText(@"C:\inetpub\Site\log.txt", "debug3");
Console.WriteLine(ex.ToString());
}
finally
{
if (con != null)
con.Close();
}
}
}
答案 0 :(得分:4)
您似乎错过了在asp.net标记中绑定事件
<asp:login
id="Login1"
runat="server"
style="width: 100%;"
OnAuthenticate="Login1_Authenticate">