Recommandé: comment implémenter la session de partage ASP et ASP.NET Dans .NET, le mécanisme de stockage de la session est différent de celui de l'ASP. Bien qu'il puisse exécuter ASP et ASPX en même temps dans le même IIS, la session ne peut pas être transmise entre eux. Auparavant, un grand nombre de systèmes ont été utilisés pour ASP. Pendant le processus de mise à niveau, si l'ASP est complètement abandonné
En utilisant la même idée que la création d'une connexion universelle dans un module séparé, nous créons un paglet. Pagelet permet aux développeurs de créer des pseudo-contrôles, qui peuvent être utilisés pour afficher les propriétés, les méthodes et les événements ainsi que les objets. Notre solution consiste à créer un paglet qui affiche la méthode ConnectTodb, qui renvoie un objet Adoconnection (légèrement différent de la syntaxe d'ADO). Nous utilisons le code suivant pour créer un paglet et l'enregistrer sous le nom de connect.aspc (l'extension indique qu'il s'agit d'un paglet)<% @ Importer namespace = System.Data%>
<% @ Importer namespace = System.data.ado%>
<Script Language = VB Runat = Server>
Fonction publique connecttodb () comme adoconnection
ConnectTodb = New Adoconnection (DSN = EVELDSN)
Fonction finale
</cript>
Vous remarquerez que nous avons importé deux espaces de noms, à savoir System.Data et System.Data.ado. Ces espaces de noms sont nécessaires pour utiliser le fournisseur géré ADO. Beaucoup de gens m'ont posé beaucoup de questions à ce sujet, car la plupart des exemples utilisent actuellement le fournisseur géré SQL basé sur la base de données Microsoft SQL Server 2000. Pour les bases de données non SQL Server, ASP peut utiliser le fournisseur géré ADO, qui est à peu près de la même manière que vous utilisez actuellement ADO dans votre programme. L'importation d'espaces de noms est similaire à la création de références dans les programmes VB.
L'utilisation de Pagelet me permet de maintenir mon plan de site actuel, et une fois qu'une connexion est créée dans le module, nous pouvons réutiliser le module partout où nous en avons besoin. Cela signifie que nous devons remplacer la directive de fichiers inclué par une instance de Pagelet, puis appeler la méthode ConnectTodb lorsque nous avons besoin d'une connexion de base de données. Dans une page qui nécessite un Pagelet, nous devons d'abord l'enregistrer avec la page en utilisant la directive ASP. Dans la directive, nous définissons TagPrefix, TagName et Source (SRC). Semblable au fichier inclué dans ASP, TagPrefix et TagName doivent être utilisés où nous plaçons le paglet.
<% @ Enregistrez tagprefix = sept tagname = connect
src = http: //www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc%>
La méthode de placement du paglet que nous venons de nous inscrire est similaire au contrôle du serveur ASP:
<[Tagprefix]: [tagname] id = mypagelet runat = server />
Par exemple:
<sept: connect id = connect runat = server />
Dans ADO, le concept d'ensembles d'enregistrements est remplacé par une combinaison d'ensembles de données et de dataViews. Nous discuterons de ces deux concepts plus tard. Tout d'abord, voyons quelles modifications se sont produites après la mise en par défaut de la page par défaut. Regardons d'abord default.asp:
<! - #include file = _incluses / connect.inc ->
<%
DIM CNEVILLE_DB, RSUPTOWN, STRSQLUPS NIVEMENT
SET RSUPTOWNCHAUX = Server.CreateObject (ADODB.RecordSet)
strSQlupTrowncown = select top 2 & _
Classes.title, sessions.ession_id, & _
Sessions.special, Classes.Description & _
À partir des classes Inner Join Sessions sur & _
Classes.class_id = sessions.classid & _
Où (((sessions.date)> date ())) & _
Ordre par sessions.Date
rsuptrown.open strsqlup newing, cneville_db
%>
Dans ASP, il devient par défaut.aspx:
<% @ Importer namespace = System.Data%>
<% @ Importer namespace = System.data.ado%>
<% @ Register tagprefix = sept tagname = connect & _
src = http: //www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc%>
<Script Language = VB Runat = Server>
Sub Page_load (source comme objet, e comme EventArgs)
DIM DSCUPS à venir en tant qu'AdodatasetCommand
DIM DSUPUP à venir en tant que nouvel ensemble de données
DIM STRSQL comme chaîne
strSql = sélectionnez les 2 meilleures classes.Title, & _
Sessions.Session_id, Classes.Description & _
À partir des classes Inner Join Sessions sur & _
Classes.class_id = sessions.classid & _
Où (((sessions.date)> date ())) & _
Ordre par sessions.Date
DSUCPUTS = NOUVEAU ADODATASETCOMMAND (STRSQL, CONNECT.ConnectTodb ())
DSUCPOTS.FILLDATASET (DSUPTOWN, à venir)
Sub-Sub
</cript>
Le cœur de l'accès aux données, les instructions ANSI-SQL n'ont rien après la conversion
Partager: discussion sur l'état du contrôle et l'état de la vue d'ASP.NET 2.0 Statut de contrôle des concepts de base - Pour que le contrôle fonctionne correctement, parfois les données d'état de contrôle sont nécessaires. Par exemple, si vous écrivez un contrôle personnalisé avec différents onglets montrant différentes informations, afin que le contrôle fonctionne comme prévu, le contrôle doit savoir qu'il a été aller-retour