Miembros registrados y crear su base de datos de desarrollo web,
Los formularios HTML estándar (elementos de formulario) le permiten pasar y enviar información de datos a otra página o aplicación para usar elementos de formulario. En ASP.NET 1.x, la página web utiliza el mecanismo de entrega para enviar los datos de la página a la página misma. Para ASP.NET 2.0, sus funciones se han expandido y se puede permitir que se envíen en las páginas. Discutamos esta nueva característica esta semana.
Método tradicional
Para facilitar la comparación, quiero pasar un minuto para revisar las antiguas formas de transmitir datos de las páginas web. Los elementos de la tabla de HTML tienen un atributo de acción para especificar qué recursos (recursos llamados se refieren a una página web, un script, programa, etc.) para manejar estos datos enviados. El siguiente código es una muestra.
<html>
<Bead> <title> Muestra de formulario HTML </title> </head>
<Body>
<Form de nombre = "frmsample" método = "post" action = "target_url">
<input type = "text" name = "fullname" id = "fullname" />
<input type = "button" name = "subt" value = "enviar" /> />
</form>
</body> </html>
El valor ingresado en el dominio de texto (el nombre es FullName) se enviará a la página o programa especificado por el atributo de acción del elemento unitario. Para los desarrolladores de ASP.NET, es extremadamente poco común, incluso si han utilizado un formulario HTML estándar.
Cuando los desarrolladores de ASP.NET enfrentan la tarea de pasar información de datos de una página web a otra, el espacio para la elección es extremadamente amplio. Incluyen variables de sesión, cookies, variables de consulta, caché de almacenamiento en caché) e incluso server.transfer, pero ASP.NET 2.0 también proporciona otra opción.
ASP.NET 2.0 proporciona otra forma de proporcionar
Al diseñar ASP.NET 2.0, Microsoft reconoció las necesidades de cruzar datos entre páginas web. Con esta conciencia, se agrega un atributo de postbackUrl al control del botón (botón) de ASP.NT. Le permite indicar dónde se entregan el formulario y los datos anteriores cuando se envía el usuario (es decir, el valor de URL especificado por la propiedad PostbackURL). En términos generales, la transmisión de la página cruzada es el proceso de usar JavaScript en el fondo.
< %@ page idioma = "vb" %><!
<html> <cead>
<title> Cross Postback Ejemplo </title>
</head> <body>
<Form ID = "frmcrosssspostback1" método = "post" runat = "servidor">
<Asp: etiqueta id = "lblname" runat = "server" text = "name:"> </asp: etiqueta>
<Asp: TextBox id = "Txtname" runat = "Server"> < /asp: textbox> <Br />
<ASP: etiqueta id = "lble-mailaddress" runat = "server" text = "-correo electrónico:"> </asp: etiqueta>
<ASP: TextBox id = "Txte-MailAddress" runat = "Server"> < /Asp: TextBox> <Br />
<ASP: Button ID = "BTNSubMit" Runat = "Server" Text = "Envir" PostbackUrl = "CrossPostBack2.aspx" />
</form> </body> </html>
La página ASP.NET en la página ASP.NET tiene dos dominios de texto (nombre llamado (nombre) y correo electrónico (correo electrónico), y un botón (botón) utilizado para enviar datos. El atributo de devolución de este botón de envío se especifica como otra página web, de modo que cuando se envía el formulario, los datos se pueden enviar a esa página. NOTA: En este ejemplo, el elemento de formulario se establece mediante el atributo PostTod estableciendo el atributo del método para hacer el método de envío de Post [2] durante el envío, pero esto no es necesario, porque todo el retroceso cruzado (entrega de página cruzada) utiliza el Método de publicación según el diseño.
Use la página anterior
Cuando la página ASP.NET se carga a través de las llamadas de la entrega de la página cruzada, el atributo ISPostBack del objeto no se activará. Sin embargo, hay un atributo llamado AnteriorPage (la página anterior) le permite acceder y usar a quienes aplicaron la entrega de la página cruzada.
Cada vez que se produce una solicitud de página cruzada, se conserva la propiedad de la página anterior de la página actual para hacer referencia a las páginas que se entregan. Si la generación de la página no proviene de la estimulación de la entrega de la página cruzada, o la página se encuentra en diferentes grupos de programas, entonces la propiedad anterior no se inicializará.
Puede determinar si la carga de la página es el resultado de la entrega de la página cruzada al verificar el objeto anterior. Si el valor es nulo, significa que es una carga ordinaria, no el valor nulo indica que la página web proviene de la entrega de la página cruzada. Además, la clase de página también contiene un método llamado IscrossSpagePostback, que se usa específicamente para determinar si la página es el resultado de la entrega de la página cruzada.
Una vez que esté determinado, puede acceder al control en la página de llamadas mediante el método FindControl del objeto anterior. El siguiente código es la segunda página en nuestro ejemplo;
< %@ page idioma = "vb" %><!
<html> <cead>
<title> Cross Postback Ejemplo 2 </title>
</head> <body>
<script language = "vb" runat = "servidor">
subpage_load ()
Si no (Page.PreviousPage no es nada) entonces)
Si no (Page.IscrossPagePostback) entonces
Response.Write ("Nombre: + CType (anteriorPage.FindControl (" txtname "), textbox .Text +" <br>)
Response.Write ("Correo electrónico:" + Ctype (anteriorPage.FindControl ("Txte-MailAddrss"), TextBox) .Text + "<br>")
final si
final si
final
</script> </body> </html>
Esta página determina si se llama por entrega de la página cruzada. Si es así, acceda a los valores a llamar a las páginas a través del método FindControl y convierta el control obtenido por este método al control del cuadro de texto, y luego muestre el contenido de sus atributos de texto (texto).
Puede convertir todo el objeto de página anterior en un tipo de página que desencadena la entrega de la página cruzada. Este método le permite acceder a la página de la página y el método de la página. Antes de dar un ejemplo de esta tecnología, necesito reescribir el primer ejemplo para incluir algunos atributos globales. El siguiente código es la primera lista de dos atributos.
< %@ page idioma = "vb" %><!
<html> <cead>
<title> Cross Postback Ejemplo </title>
<script language = "vb" runat = "servidor">
Nombre de la propiedad del público Readonly
conseguir
Devolverme.txtname.text
fin get
Propiedad final
Public Readonly Property Correo electrónico
conseguir
Devolverme.txte-mailaddress.text
fin get
Propiedad final
</script> </head> <body>
<Form ID = "frmcrosssspostback1" método = "post" runat = "servidor">
<Asp: etiqueta id = "lblname" runat = "server" text = "name:"> </asp: etiqueta>
<Asp: TextBox id = "Txtname" runat = "Server"> < /asp: textbox> <Br />
<ASP: etiqueta id = "lble-mailaddress" runat = "server" text = "-correo electrónico:"> </asp: etiqueta>
<ASP: TextBox id = "Txte-MailAddress" runat = "Server"> < /Asp: TextBox> <Br />
<ASP: Button ID = "BTNSubMit" Runat = "Server" Text = "Envir" PostbackUrl = "CrossPostBack2.aspx" />
</form> </body> </html>
Ahora que los atributos se han construido ahora, puede acceder fácilmente a ellos. Para estar vigilante, el objeto de página anterior de clase de página debe convertirse en el tipo correcto, para acceder correctamente a sus atributos. Esto se puede implementar convirtiéndolo en una clase de página adecuada.
<%@ page idioma = "vb"%>< %@ Reference Page = "~/CrossPostBack1.aspx" %>
<!
<html> <cead>
<title> Cross Postback Ejemplo 3 </title>
</head> <body>
<script language = "vb" runat = "servidor">
subpage_load ()
Dim CPPPage como CrossPostBack1_aspx
Si no (Page.PreviousPage no es nada) entonces)
Si no (Page.IscrossPagePostback) entonces
if (page.previousPage.IsValid) entonces
cpppage = ctype (anterior Page, CrossPostBack1_aspx)
Response.write ("Nombre: + cppppage.name +" <br> ")
Response.Write ("Correo electrónico:" + cpppage.e-mailadddress)
final si
final si
final si
final
</script> </body> </html>
Explique esto, define una referencia a la página de llamadas en el cabezal, para que este tipo de referencia se pueda usar en el código. A través de esta referencia, el código VB.NET real utiliza la función CTYPE para convertir el objeto anterior en un tipo apropiado. Después de eso, esos atributos se pueden usar como la demostración de código.
Aquí se recuerda el uso del método ISValid del objeto anterior en la lista anterior: la propiedad ISVALID en la página anterior asegura que haya aprobado todas las verificaciones y pruebas legales antes de que funcione.
Resumir
Hay muchas aplicaciones para transmitir parámetros de datos entre las redes, incluido el mantenimiento de la información personal del usuario. La solución web ancestral, como el uso de consultas y cookies, le permite señalar otra página desde una página cuando se produce la envío.
ASP.NET 1.1 Además de proporcionar métodos adicionales, estos métodos también pueden ser bien compatibles, pero ASP.NET 2.0 se basa en la entrega de la página cruzada, lo que ha hecho un gran desarrollo a este respecto. Hace que un procesamiento web se procese de otra página web simple. Cuando desarrolle su próximo programa ASP.NET 2.0, debe hacer un buen uso de las ventajas de este nuevo concepto.