Colección de citas famosas - Colección de consignas - Enumere varias formas de transferir valores entre páginas ASP.NET

Enumere varias formas de transferir valores entre páginas ASP.NET

1. Enumere varias formas de transferir valores entre páginas ASP.NET.

1). Utilice QueryString, como....?id=1; Redirect()....

2).

3).Usar Server.Transfer

Para poder transferir contenido variable entre páginas, ASP.NET nos da varias opciones. Una opción es utilizar la propiedad QueryString

Una: QueryString Puede utilizar una cadena de consulta para solicitar una página web. QueryString en ASP.NET accede a esta información. cuando cargas file.html? Cuando x = y, analiza "x" e "y". Primero, vemos una página de formularios web .aspx que se ejecuta cuando el usuario accede a Default.aspx. El código aquí es la sección de código subyacente Default.aspx.cs.

Intenta agregar la cadena "?param=dotnet" al final de la URL. Se activará Response.Write.

Basado en: .NET QueryString Ejemplo: C#

usando System

usando System.Web.UI

clase parcial pública; _Predeterminado: Página

{

protegida void Page_Load(objeto remitente, EventArgs e)

{

cadena v = Request.QueryString[ "param"];

if (v != null)

{

Response.Write("param is ");

Response.Write(v);

}

}

}

Como resultado, Page imprime el valor de la consulta de parámetro , que es un valor de cadena: el parámetro es dotnet.

Dos parámetros. Para continuar, probamos los dos parámetros de URL de la cadena de consulta. Este es un requisito bastante común en el desarrollo. Puede que sea necesario utilizar uno o ambos al mismo tiempo.

Ejemplo de QueryString con múltiples parámetros: C#

usando System;

usando System.Web.UI

clase parcial pública _Default: Página

{

protected void Page_Load(objeto remitente, EventArgs e)

{

cadena v = QueryString["param. "];

if (v != null)

{

Response.Write("param is ");

Respuesta .Write(v);

}

cadena x = Request.QueryString["id"];

if (x != null )

{

Response.Write(" identificación detectada"

}

}

}

Codifique esta URL de prueba: ?param=first&id=true

Para probar, escriba la URL de prueba al final de la URL en un navegador de Internet (como Internet Explorer o Firefox). Esta cadena especifica que la consulta "param" es igual a "first". Y el parámetro "id" es igual a "verdadero".

Cita: una colección de claves de cadena asociadas y valores de cadena a los que se puede acceder mediante una clave o índice.

Página que usa HasKeys en QueryString: C#

usando System;

usando System.Web.UI;

usando System .Collections. Especializado;

clase parcial pública _Default: Página

{

Page_Load vacío protegido (objeto remitente, EventArgs e)

{

// Obtener colección

NameValueCollection n = Request.QueryString

// Comprobar si existe alguna cadena de consulta

if (n.HasKeys ())

{

// Obtener la primera clave y valor

cadena k = n.GetKey(0);

p>

string v = n.Get(0);

// Probar diferentes claves

if (k == "param")

{

Response.Write("el parámetro es " v);

}

if (k == "id")

{

Response.Write("id es " v);

}

}

}

}

Request.QueryString también puede recuperar este valor utilizando su posición en la cadena de consulta.

Page_Load vacío privado(remitente del objeto,

System.EventArgs e)

{

this.txtBox1.Text = Request.QueryString [0];

this.txtBox2.Text = Request.QueryString[1];

}

foreach(cadena s en Request.QueryString)

{

Response.Write(Request.QueryString[s]);

}

o

para ( int i =0; i lt; Request.QueryString.Count; i )

{

Respuesta.Write(Request.QueryString[i]);

}

Desventajas de este enfoque

QueryString tiene una longitud máxima y este enfoque no funciona si tienes que enviar mucha información.

QueryString es visible en la parte de dirección de su navegador, por lo que no debe utilizarlo con información confidencial.

QueryString no se puede utilizar para enviar caracteres & y espacios.

Reemplazar espacios con %20 y espacios con %26.

vacío privado btnSubmit_Click(remitente del objeto, System.EventArgs e)

{

cadena p1 = this.txtName.Text.Replace("amp;", "26");

p1 = this.txtName.Text.Replace(" ", "20");

cadena p2 = this.txtLastName.Text.Replace("amp ;", "26");

p2 = this.txtName.Text.Replace(" ", "20");

"WebForm2.aspx?"

"Nombre=" p1

"amp; Apellido=" p2

Respuesta.Redirect(p2); p>También puedes usar Server.UrlEncode. El método Server.UrlEncode cambia las cadenas de consulta para que no causen problemas.

vacío privado btnSubmit_Click(remitente del objeto, System.EventArgs e)

{

Response.Redirect("WebForm2.Aspx?"

"Name=" Server.UrlEncode(this.txtName.Text)

"&LastName=" Server.UrlEncode(this.txtLastName.Text)

});

2. Session&Cookie

Session es fácil de usar y no solo puede transferir tipos de datos simples, sino también objetos.

.El tamaño de los datos no está limitado. Almacenar una gran cantidad de datos en variables de sesión consumirá más recursos del servidor. Fácil de perder. Cree una variable de sesión con el nombre y el valor que necesita pasar en el código de la página de origen: Session["Name"]="Value(Or Object) "; use la variable de sesión en el código de la página de destino para recuperar la valor pasado. Resultado = Session["Nmae"] Nota: Puede destruir la sesión cuando no esté en uso. El método de destrucción es: borrar uno: Session.Remove("nombre de sesión");

string city = "Seattle";

//Guardar el estado de la sesión en la página del formulario web class

Session["City"] = city; /p>

//Leer del estado de la sesión en la clase de página del formulario web.

city = (string)(Session["City"]);

//Fuera de la clase de página del formulario web, use HttpContext.Current.

Contexto HttpContext = HttpContext.Current;

context.Session["FirstName"] = firstName

firstName = (cadena)(context.Session[" FirstName"]);

La clase Session es similar a un diccionario de cadenas de tipo clave y objetos de tipo valor. Esto permite almacenar una variable de cualquier tipo y hacer referencia a ella posteriormente por su nombre.

¿Qué son las Cookies?

Una cookie es un archivo pequeño (aunque temporal) creado en el sistema del cliente o en la memoria del navegador del cliente. Podemos almacenar pequeños fragmentos de información en el sistema del cliente y utilizarlos cuando sea necesario. Lo más interesante es que funciona de forma transparente con el usuario. Se puede utilizar fácilmente en cualquier lugar de su aplicación web. Las cookies almacenan información en formato de texto sin formato. Si una aplicación web utiliza cookies, el servidor envía la cookie y el navegador del cliente la almacena. Luego, el navegador devuelve la cookie al servidor la próxima vez que solicita la página. Los ejemplos más comunes de uso de cookies son el almacenamiento de información del usuario, preferencias del usuario, opciones de memoria de contraseñas, etc. Las cookies tienen muchas ventajas y desventajas.

¿Cómo empezaron Cookies?

Cuando el cliente solicita al servidor, el servidor envía la cookie al cliente. Las solicitudes posteriores pueden hacer referencia a la misma cookie. Por ejemplo, si codeproject.com almacena el ID de sesión como una cookie, cuando el cliente accede al servidor por primera vez, el servidor genera el ID de sesión y lo envía al cliente como una cookie

El navegador y El servidor web es responsable del intercambio de información de cookies. Los navegadores retienen cookies de diferentes maneras para diferentes sitios. Si una página requiere información de las cookies, cuando se accede a esa URL, primero busca en el sistema local la información de las cookies y luego la mueve al servidor que tiene esa información.

Ventajas de las Cookies

Las siguientes son las principales ventajas del uso de cookies en aplicaciones web:

Su uso e implementación es muy sencillo.

El navegador es el responsable del envío de los datos.

Para varios sitios que contienen cookies, el navegador las clasifica automáticamente.

Desventajas de las Cookies

Almacena datos en un formato de texto simple y, por tanto, no es nada segura.

Los datos de las cookies tienen un límite de tamaño (4096 bytes/4 KB).

El número máximo de cookies permitidas también es limitado. La mayoría de los navegadores limitan la cantidad de cookies a 20. Si aparecen cookies nuevas, las antiguas se descartarán. Algunos navegadores admiten hasta 300.

Cómo crear una cookie

Para utilizar cookies, necesitamos utilizar el espacio de nombres System.web.

Método 1 (usando la clase HttpCookies)

HttpCookie StudentCookies = new HttpCookie("StudentCookies");

StudentCookies.Value = TextBox1.Text;

StudentCookies.Expires = DateTime.Now.AddHours(1);

Response.Cookies.Add(StudentCookies);

Método 2 (use Response directamente)

Respuesta.Cookies["StudentCookies"].Value = TextBox1.Text;

Respuesta.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(1);

Método 3 (Múltiples valores en la misma cookie)

Response.Cookies["StudentCookies"]["RollNumber"] = TextBox1.Text;

Response.Cookies ["StudentCookies"]["FirstName"] = "Abhimanyu";

Response.Cookies["StudentCookies"]["MiddleName"] = "Kumar";

Response.Cookies ["StudentCookies"]["LastName"] = "Vatsa";

Response.Cookies["StudentCookies"]["TotalMarks"] = "499";

Response.Cookies ["StudentCookies"].Expires = DateTime.Now.AddDays(1);

Mire el código para ver cómo creamos la cookie y la agregamos usando la respuesta web.

La cookie creada permanecerá hasta que se cierre el navegador. Podemos insistir en el uso de cookies.

Cómo leer datos de las cookies

Ahora es el momento de recuperar los datos de la cookie. Antes de leer la cookie, primero debemos verificar si se encuentra la cookie. Siempre es una buena práctica comprobar las cookies antes de leerlas, ya que el navegador puede tenerlas deshabilitadas.

string roll = Request.Cookies["StudentCookies"].Value; //Para la primera vía

string roll = Request.Cookies["StudentCookies"].Value; Segunda Vía

rollo de cadena;

roll = Request.Cookies["StudentCookies"]["RollNumber"];

roll = roll " " Request.Cookies ["StudentCookies"]["FirstName"];

roll = roll " " Solicitud.Cookies["StudentCookies"]["SegundoNombre"];

roll = roll " " Solicitud .Cookies["StudentCookies"]["Apellido"];

roll = roll " " Request.Cookies["StudentCookies"]["TotalMarks"];

Label1.Text = roll;

¿Cómo borrar la información de las cookies?

Podemos borrar la información de las cookies en la máquina cliente en la carpeta de cookies

Establecer el tiempo de vencimiento del objeto de la cookie

userInfo.Expires = DateTime ahora. .AddHours(1);

Borrará las cookies dentro de una hora.

3. Objeto Aplicación

El alcance del objeto Aplicación es el mundo entero, lo que significa que es válido para todos los usuarios. Es válido durante todo el ciclo de vida de la aplicación, similar al uso de una variable global, por lo que se puede acceder a ella desde diferentes páginas. La diferencia entre esta y las variables de sesión es que la primera es una variable global utilizada por todos los usuarios y la segunda es una variable global única para cada usuario.

Por ejemplo: el número de visitas al sitio web. Se puede operar cuando se accede a él mediante múltiples solicitudes.

Ventajas: 1. Fácil de usar y consume menos recursos del servidor.

2. No solo puede pasar datos simples, sino que también puede pasar objetos.

3. La cantidad de datos no está limitada.

Desventajas: 1. Como variable global, es fácil de utilizar incorrectamente. Por lo tanto, las variables utilizadas por un solo usuario generalmente no pueden utilizar la aplicación.

Uso: 1. Cree el nombre y el valor que necesita pasar en el código de la página fuente para construir la variable Aplicación: Aplicación["Nmae"]="Valor(Or Objeto)";

2. Utilice la variable Aplicación en el código de la página de destino para recuperar el valor pasado. Resultado = Aplicación["Nmae"]

Nota: Los métodos de bloqueo y desbloqueo se usan comúnmente para bloquear y desbloquear con el fin de evitar modificaciones simultáneas.

nombre de cadena;

Application.Lock();

nombre = Aplicación["nombre"].ToString(); Application.UnLock();

4. Server.Transfer

Finalice la ejecución de la página actual y comience a ejecutar la nueva página solicitada actualmente.

Server.Transfer("Logon.aspx", verdadero);