Red de conocimiento informático - Computadora portátil - ¿Cómo obtiene asp.net eventos del lado del cliente y los utiliza para llamar a métodos del lado del servidor?

¿Cómo obtiene asp.net eventos del lado del cliente y los utiliza para llamar a métodos del lado del servidor?

Tome la pantalla de inicio de sesión del usuario como ejemplo:

Cuando el usuario ingresa su nombre de usuario y contraseña y hace clic en el botón de inicio de sesión, se activa la función.

El código del botón de inicio de sesión es el siguiente:

Width="67"?Height="26"?BorderWidth="0"?OnClick="btnLogin_Click"?

Entonces, la función de activación es OnClick="btnLogin_Click"

Las siguientes funciones son relativamente detalladas y no es necesario comprenderlas en detalle. Solo debes saber que lo que se llama detrás de escena es btnLogin_Click y listo.

protected?void?btnLogin_Click(object?sender,?EventArgs?e)

{

string?strUserName?=?Request.Form["UserName" ].

string?strUserName?=?Request.Form["UserName"].ToString().Trim().ToLower();

string?strPassWord?=?Sha1 .GetSha1(Request.Form["Contraseña"].ToString().Trim());

cadena?SqlString?SELECT??+?strUserName?+?"'"

DataTable?dt?=?DataAccess.SelectBySql("SOC2.ConnectionString.Sql",?SqlString);

//Si el nombre de usuario existe para determinar si la contraseña ingresada es correcta

if?((dt.Rows. .Count?==?1)? &&?(dt.Rows[0][8].ToString()?=?"1"))

{

string?Select?*?from?Users?Where?Pass='"?+?strPassWord?+?"'" ;

DataTable?dt1?=?DataAccess. SelectBySql("SOC2.ConnectionString.Sql",?SqlString1);

if?(dt1.Rows.Count?==?SqlString1);

FIF?Rows.Count?= =?0)

{

Response.Write("window.alert('Error al ingresar la contraseña');location.href='UserLogin.aspx '");

//Obtiene el número de inicios de sesión fallidos del usuario que actualmente intenta iniciar sesión y aumenta en 1

if?(!strUserName.Equals("admin "))

{

int?i?=?Convert.ToInt32(dt.Rows[0][7])?+?1;

DataAccess.Update( "SOC2.ConnectionString.

DataAccess.Update("SOC2.ConnectionString.Update?Users?SET?FailCount?=?"??+?i?+?"?¿dónde?¿Iniciar sesión? =?'" ??+?strUserName?+?"'") ;

if?(i?>=?3)

{

Acceso a datos .Update(" SOC2.ConnectionString.Update?Users?SET?IsLocked?=?1?where??+?strUserName?+?"'") )

}

}

}

}

//?Escribe el registro de errores de inicio de sesión.

string?sqlGetUserId?=?string.Format("SELECT?ID?from?Users?WHERE?Login?=?' {0}'",?strUserName);

dt?=?DataAccess.SelectBySql("SOC2.ConnectionString.Sql",?SqlString);

if?(dt.Rows.Count?>?0)

{

p>

WriteLoginLog(dt.Rows[0][0].ToString(),?false);

}

}

else

{

Int64?loginId?=?WriteLoginLog (dt.Rows[0]["ID"].ToString(),?true);

Sesión ["ID de inicio de sesión"]? =?Id de inicio de sesión;

Sesión ["ID de usuario"] =?(int)dt.Rows[0]["ID"];

Sesión[ "User_Name"]? =?strUserName;

Aplicación[dt.Rows[0]["ID"].ToString()] =?loginId;

string?SqlString2? =?" select?Role_ID,Role.Name,Role.Permission?from?Role?inner?join?Users??+?strUserName?+?"'" ;

Tabla de datos? dt2?=?DataAccess .SelectBySql("SOC2.ConnectionString.Sql",?SqlString2);

Sesión["User_Role"] =?dt2.Rows[0]["Name"].ToString( );

Sesión["Role_ID"]? =?(int)dt2.Rows[0]["Role_ID"];

Sesión["UserPermission"]?(UserPermission) (int)dt2. Filas[0]["Permiso"];

Response.Redirect("Default.aspx");

}

}

}

//UserPermission no existe o la cuenta ha acumulado 3 errores de entrada

else

{

if(dt.Rows. Count?==?0)

{

Response.Write("window.alert('El nombre de usuario que ingresado no existe! El nombre de usuario que ingresó no existe');location.href='UserLogin.aspx'");

}

else

Respuesta .Write("window.alert('¡El nombre de usuario que ingresó no existe! alert('Su cuenta ha sido bloqueada después de acumular 3 errores de entrada');location.href='UserLogin.aspx' < /script>");

}

}

}