Membres enregistrés et créez votre base de données de développement Web,
Les formulaires HTML standard (éléments de formulaire) vous permettent de passer et d'envoyer des informations de données à une autre page ou application pour utiliser des éléments de formulaire. Dans ASP.NET 1.x, la page Web utilise le mécanisme de livraison pour soumettre les données de la page à la page elle-même. Pour ASP.NET 2.0, ses fonctions se sont développées et peuvent être autorisées à se soumettre entre les pages. Discutons de cette nouvelle fonctionnalité cette semaine.
Méthode traditionnelle
Pour faciliter la comparaison, je veux passer une minute pour revoir les anciennes façons de transmettre des données à partir des pages Web. Les éléments de table de HTML ont un attribut d'action pour spécifier quelles ressources (les ressources, ainsi, se réfèrent à une page Web, un script, un programme, etc.) pour gérer ces données soumises. Le code suivant est un échantillon.
<html>
<A-Head> <Title> Exemple de formulaire HTML </TITAL> </EAD>
<body>
<Form name = "frmsample" méthode = "post" action = "cible_url">
<input type = "text" name = "fullname" id = "fullname" />
<input type = "Button" name = "soumi" value = "soumi" /> />
</ form>
</ body> </html>
La valeur entrée dans le domaine texte (le nom est complet) sera soumise à la page ou au programme spécifié par l'attribut d'action de l'élément unitaire. Pour les développeurs ASP.NET, il est extrêmement rare même s'ils ont utilisé un formulaire HTML standard.
Lorsque les développeurs ASP.NET sont confrontés à la tâche de transmettre des informations de données d'une page Web à une autre, la salle de choix est extrêmement large. Ils incluent les variables de session, les cookies, les variables de requête, le cache de mise en cache) et même le serveur.transfert, mais ASP.NET 2.0 fournit également un autre choix.
Asp.net 2.0 fournit une autre façon de fournir
Lors de la conception d'ASP.NET 2.0, Microsoft a reconnu les besoins de passage des données entre les pages Web. Avec cette conscience, un attribut postbackurl est ajouté au contrôle du bouton (bouton) d'Asp.nt. Il vous permet d'indiquer où le formulaire et les données ci-dessus sont livrés lorsque l'utilisateur est soumis (c'est-à-dire la valeur URL spécifiée par la propriété PostbackUrl). D'une manière générale, la transmission croisée de la page est le processus d'utilisation de JavaScript en arrière-plan.
<% @ Page Language = "VB"%><!
<html> <adref>
<Title> Cross Postback Exemple </TITME>
</ head> <body>
<Form id = "frmcrosssSpostback1" méthode = "post" runat = "server">
<asp: label id = "lblname" runat = "server" text = "name:"> </ asp: label>
<asp: textbox id = "txtName" runat = "server"> </ asp: textbox> <br />
<asp: étiquette id = "lble-Mailaddress" runat = "server" text = "e-mail:"> </ asp: label>
<Asp: textbox id = "Txte-Mailaddress" runat = "Server"> </ asp: textbox> <br />
<asp: bouton id = "btnsubmit" runat = "server" text = "soumi" postbackUrl = "CrossPostback2.aspx" />
</ form> </body> </html>
La page ASP.NET de la page ASP.NET a deux domaines texte (nom nommé (nom) et e-mail (e-mail), et un bouton (bouton) utilisé pour soumettre des données. L'attribut post-arrière de ce bouton de soumission est spécifié comme une autre page Web, de sorte que lorsque le formulaire est soumis, les données peuvent être envoyées à cette page. Remarque: Dans cet exemple, l'élément de formulaire est défini par l'attribut Posthod en définissant l'attribut de méthode pour fabriquer la méthode de soumission du post [2] pendant la soumission, mais ce n'est pas nécessaire, car tous les post-dossiers croisés (livraison de la page croisée) utilisent le Méthode postal selon la conception.
Utilisez la page précédente
Lorsque la page ASP.NET est chargée via les appels de la livraison de la page croisée, l'attribut ISPostback de l'objet ne sera pas déclenché. Cependant, un attribut appelé PREVERSPAGE (la page précédente) vous permet d'accéder et d'utiliser ceux qui ont appliqué la livraison de la page croisée.
Chaque fois qu'une demande de page croisée se produit, la propriété PREVERPAGE de la page actuelle est conservée pour référencer les pages qui sont livrées. Si la génération de la page ne provient pas de la stimulation de la livraison de la page croisée ou si la page se trouve dans différents groupes de programmes, la propriété PREVERSPAGE ne sera pas initialisée.
Vous pouvez déterminer si le chargement de la page est le résultat de la livraison de la page croisée en vérifiant l'objet précédent. Si la valeur est nul, cela signifie qu'il s'agit de charge ordinaire, et non la valeur nulle indique que la page Web provient de la livraison de la page croisée. De plus, la classe de page contient également une méthode appelée IscrossSpagePostback, qui est spécifiquement utilisée pour déterminer si la page est le résultat de la livraison de la page croisée.
Une fois que vous êtes déterminé, vous pouvez accéder au contrôle sur la page d'appel par la méthode FindControl de l'objet PREBERPAGE. Le code suivant est la deuxième page de notre exemple;
<% @ Page Language = "VB"%><!
<html> <adref>
<Title> Cross Postback Exemple 2 </Title>
</ head> <body>
<script linguisse = "vb" runat = "server">
sub page_load ()
Sinon (page.PreviousPage n'est rien) alors)
Sinon (page.iscrosspagePostback)
Response.Write ("Name: + CTYPE (PREBERPAGE.FINDCONTROL (" TXTNAME "), TextBox .Text +" <br>)
Response.Write ("E-Mail:" + CTYPE (PREBERPAGE.FINDCONTROL ("TXTE-MAILADDRSS"), TextBox) .Text + "<br>")
terminer si
terminer si
Sub-Sub
</cript> </ body> </html>
Cette page détermine si elle est appelée par la livraison de la page croisée. Dans l'affirmative, accédez aux valeurs à partir des pages d'appel via la méthode FindControl et convertissez le contrôle obtenu par cette méthode en contrôle de la zone de texte, puis affichez le contenu de leurs attributs de texte (texte).
Vous pouvez convertir l'intégralité de l'objet PREVERPAGE en un type de page qui déclenche la livraison de la page croisée. Cette méthode vous permet d'accéder à la page de la page et de la méthode de la page. Avant de donner un exemple de cette technologie, je dois réécrire le premier exemple pour inclure certains attributs globaux. Le code suivant est la première liste de deux attributs.
<% @ Page Language = "VB"%><!
<html> <adref>
<Title> Cross Postback Exemple </TITME>
<script linguisse = "vb" runat = "server">
Nom de la propriété en lecture publique
obtenir
Return me.txtName.Text
mettre fin à
Propriété finale
Public Readonly Property E-Railaddress
obtenir
Return me.txte-Mailaddress.Text
mettre fin à
Propriété finale
</dcript> </-head> <body>
<Form id = "frmcrosssSpostback1" méthode = "post" runat = "server">
<asp: label id = "lblname" runat = "server" text = "name:"> </ asp: label>
<asp: textbox id = "txtName" runat = "server"> </ asp: textbox> <br />
<asp: étiquette id = "lble-Mailaddress" runat = "server" text = "e-mail:"> </ asp: label>
<Asp: textbox id = "Txte-Mailaddress" runat = "Server"> </ asp: textbox> <br />
<asp: bouton id = "btnsubmit" runat = "server" text = "soumi" postbackUrl = "CrossPostback2.aspx" />
</ form> </body> </html>
Maintenant que les attributs ont été construits maintenant, vous pouvez facilement y accéder. Pour être vigilant, l'objet Page Class PREVERSPAGE doit être converti en type correct, afin d'accéder correctement à ses attributs. Cela peut être implémenté en le convertissant en une classe de page appropriée.
<% @ Page Language = "VB"%><% @ Référence Page = "~ / CrossPostback1.aspx"%>
<!
<html> <adref>
<Title> Cross Postback Exemple 3 </Title>
</ head> <body>
<script linguisse = "vb" runat = "server">
sub page_load ()
Dim cpppage comme crosspostback1_aspx
Sinon (page.PreviousPage n'est rien) alors)
Sinon (page.iscrosspagePostback)
if (page.previouspage.isvalid) alors
CPPPAGE = CTYPE (PREVERPAGE, CROSSPOSTBACK1_ASPX)
Response.Write ("Name: + cppppage.name +" <br> ")
Response.Write ("E-mail:" + cpppage.e-Mailadddress)
terminer si
terminer si
terminer si
Sub-Sub
</cript> </ body> </html>
Expliquez cela, il définit une référence à la page d'appel sur la tête de tête, afin que ce type de référence puisse être utilisé dans le code. Grâce à cette référence, le code VB.NET réel utilise la fonction CTYPE pour convertir l'objet précédent en un type approprié. Après cela, ces attributs peuvent être utilisés comme la démonstration de code.
L'utilisation de la méthode isvalid de l'objet précédent dans la liste ci-dessus est rappelée ici: la propriété isvalid de la page précédente garantit que vous avez passé toute vérification et test légaux avant son fonctionnement.
Résumer
Il existe de nombreuses applications pour transmettre des paramètres de données entre les toiles, y compris la maintenance des informations personnelles. La solution Web ancestrale, comme l'utilisation de Querrystring et les cookies, vous permet de pointer vers une autre page d'une page lorsque la soumission se produit.
ASP.NET 1.1 En plus de fournir des méthodes supplémentaires, ces méthodes peuvent également être bien prises en charge, mais ASP.NET 2.0 s'appuie sur la livraison de la page croisée, ce qui a fait un grand développement à cet égard. Il facilite une autre page Web à partir d'une autre page Web. Lorsque vous développez votre prochain programme ASP.NET 2.0, vous devez faire bon usage des avantages de ce nouveau concept.