Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[DEBUTANT] Comment séparer le code ?

8 réponses
Avatar
Olivier
Bonsoir,

Je débute dans la programmation ASP.Net et VB.Net et je voudrais savoir
comment fait-on pour séparer le code ?

En fait avec ASP3 je faisais une include d'un fichier .asp contenant des
functions, constantes, etc.

Mais là je ne sais pas trop comment m'y prendre ...

Car j'utilise 2 fichiers :
index.aspx et ndex.aspx.vb (qui contient le code réel), donc ma question est
: comment faire une include d'un fichier .vb dans le fichier index.aspx.vb ?

Merci d'avance

Olivier

8 réponses

Avatar
Ambassadeur Kosh
il y'a toujours un fichier .vb qui accompagne ton fichier aspx.
tu places ton code la dedans, ou dans d'autres "librairies" que tu
fabriques.
et tu agit sur les evenement Init Load PreRender, Render Unload de ta
feuille pour agir sur les objets de ta feuille.

qu'est-ce qu'il y'a dans ton fichier d'include ?
Avatar
Julien
En asp.Net (et en .NET en général), la programation est orientée
objet. Vous utilisez donc des classes (la règle générale est de une
classe par fichier .vb) pour créer des objets que vous pouvez
manipuler dans d'autres classes ... La programmation objet est trop
importante pour en faire un cours ici

Mais une fois saisi les principes de la programmation objet c'est
simple. Vous pouvez utiliser les classes (contenues dans d'autres
fichiers) en les référençant par leur Namespace (par exemple
System.Data.SqlClient.SqlConnection pour atteindre la classe
SqlConnection du namespace System.Data.SqlClient) à deux exceptions :
- La classe cherchée se trouve dans le même espace de noms
(namespace) que la classe dans laquelle vous vous trouvez
- Vous avez inclus une clause Imports dans votre fichier

Les "Imports" doivent se trouver en haut du fichier vb (avant toutes
les déclarations) et désigner un namespace. Par exemple : Imports
System.Data.SqlClient vous évitera de devoir appeler le namespace
complet d'une classe pour pouvoir l'utiliser ...

C'est peut-être un peu tordu si vous débutez, vous pouvez trouver de
très bons exemples sur google et sur http://msdn.microsoft.com/library

Bon courage
Avatar
Olivier
"Ambassadeur Kosh" a écrit dans le message de
news:
il y'a toujours un fichier .vb qui accompagne ton fichier aspx.
tu places ton code la dedans, ou dans d'autres "librairies" que tu
fabriques.




Bonjour,

Oui je veux faire une librairies de functions propre au site

donc pour les appeler je faisais le fichier .asp à part que j'appelais via
#include

mais en ASP.Net on fait cela comment ?

Merci

Olivier


et tu agit sur les evenement Init Load PreRender, Render Unload de ta
feuille pour agir sur les objets de ta feuille.

qu'est-ce qu'il y'a dans ton fichier d'include ?



Avatar
Franck Quintana
Ce n'est pas du tout dans la philosophie d'ASP.net.
ASP.net est orienté objet, ce qui vous permettra au final d'avoir de la
"vraie" réutilisabilité.
C'est un peu plus compliqué qu'un include à mettre en place mais c'est
beaucoup plus fiable.
Pour ma part, j'ai créé un nouveau projet de type "Bibliothèque de
classes" où je créé tous les composants que je pense pouvoir réutiliser
un jour.
Je me suis inspiré du système de namespace de Microsoft pour retrouver
mes différentes classes.

Pour intégrer cela à une autre solution il me suffit soit de référencer
les dll du projet, soit d'ajouter un projet existant à la solution (ca
ne copie qu'un raccourci). Ainsi lorsque je fais évoluer la bibliothèque
pour un projet A elle évolue également pour un projet B qui la référençait.

Franck Quintana
Active+ Software
http://www.activeplus.com
Avatar
Franck Quintana
Ce n'est pas du tout dans la philosophie d'ASP.net.
ASP.net est orienté objet, ce qui vous permettra au final d'avoir de la
"vraie" réutilisabilité.
C'est un peu plus compliqué qu'un include à mettre en place mais c'est
beaucoup plus fiable.
Pour ma part, j'ai créé un nouveau projet de type "Bibliothèque de
classes" où je créé tous les composants que je pense pouvoir réutiliser
un jour.
Je me suis inspiré du système de namespace de Microsoft pour retrouver
mes différentes classes.

Pour intégrer cela à une autre solution il me suffit soit de référencer
les dll du projet, soit d'ajouter un projet existant à la solution (ca
ne copie qu'un raccourci). Ainsi lorsque je fais évoluer la bibliothèque
pour un projet A elle évolue également pour un projet B qui la référençait.

Franck Quintana
Active+ Software
http://www.activeplus.com
Avatar
Olivier
Salut,

Oui en fait ce n'est pas du tout pareil :- je suis paumé là un peu

Est-ce que tu pourrais me donner un exemple pour comment externaliser des
fonctions réutilisables ?

J'utilise le Visual Web Developpement Express

Par exemple je souhaite créer une fonction qui me donne le nom du jour (ex:
Dimanche)
(je pense que cela doit déjà exister et c'est juste un exemple qui je
souhaiterai faire

Donc je pense comprendre qu'il faille rédiger le code comme cela :

Imports System

namespace MonAppli1

Function NomJour(ByVal intWeekDay as Integer) As String
Select case intWeekDay
Case 1 : Return "Dimanche"
Case 2 : Return "Lundi"
Case 3 : Return "Mardi"
Case 4 : Return "Mercredi"
Case 5 : Return "Jeudi"
Case 6 : Return "Vendredi"
Case 7 : Return "Samedi"
End Select
End Function


mais ensuite comment je l'utilise dans mes projets ? tu pourrais m'expliquer
stp ?

Merci d'avance à toi :-)


Olivier






"Franck Quintana" a écrit dans le message de news:
43f2512b$0$29212$
Ce n'est pas du tout dans la philosophie d'ASP.net.
ASP.net est orienté objet, ce qui vous permettra au final d'avoir de la
"vraie" réutilisabilité.
C'est un peu plus compliqué qu'un include à mettre en place mais c'est
beaucoup plus fiable.
Pour ma part, j'ai créé un nouveau projet de type "Bibliothèque de
classes" où je créé tous les composants que je pense pouvoir réutiliser un
jour.
Je me suis inspiré du système de namespace de Microsoft pour retrouver mes
différentes classes.

Pour intégrer cela à une autre solution il me suffit soit de référencer
les dll du projet, soit d'ajouter un projet existant à la solution (ca ne
copie qu'un raccourci). Ainsi lorsque je fais évoluer la bibliothèque pour
un projet A elle évolue également pour un projet B qui la référençait.

Franck Quintana
Active+ Software
http://www.activeplus.com


Avatar
Olivier
Salut,

Oui en fait ce n'est pas du tout pareil :- je suis paumé là un peu

Est-ce que tu pourrais me donner un exemple pour comment externaliser des
fonctions réutilisables ?

J'utilise le Visual Web Developpement Express

Par exemple je souhaite créer une fonction qui me donne le nom du jour (ex:
Dimanche)
(je pense que cela doit déjà exister et c'est juste un exemple qui je
souhaiterai faire

Donc je pense comprendre qu'il faille rédiger le code comme cela :

Imports System

namespace MonAppli1

Function NomJour(ByVal intWeekDay as Integer) As String
Select case intWeekDay
Case 1 : Return "Dimanche"
Case 2 : Return "Lundi"
Case 3 : Return "Mardi"
Case 4 : Return "Mercredi"
Case 5 : Return "Jeudi"
Case 6 : Return "Vendredi"
Case 7 : Return "Samedi"
End Select
End Function


mais ensuite comment je l'utilise dans mes projets ? tu pourrais m'expliquer
stp ?

Merci d'avance à toi :-)


Olivier






"Franck Quintana" a écrit dans le message de news:
43f2512b$0$29212$
Ce n'est pas du tout dans la philosophie d'ASP.net.
ASP.net est orienté objet, ce qui vous permettra au final d'avoir de la
"vraie" réutilisabilité.
C'est un peu plus compliqué qu'un include à mettre en place mais c'est
beaucoup plus fiable.
Pour ma part, j'ai créé un nouveau projet de type "Bibliothèque de
classes" où je créé tous les composants que je pense pouvoir réutiliser un
jour.
Je me suis inspiré du système de namespace de Microsoft pour retrouver mes
différentes classes.

Pour intégrer cela à une autre solution il me suffit soit de référencer
les dll du projet, soit d'ajouter un projet existant à la solution (ca ne
copie qu'un raccourci). Ainsi lorsque je fais évoluer la bibliothèque pour
un projet A elle évolue également pour un projet B qui la référençait.

Franck Quintana
Active+ Software
http://www.activeplus.com


Avatar
Franck Quintana
Pour ma part j'ai un dossier exemple : C:PROJECTS
Dans ce dossier je met tous mes projets.
Si je veux faire une bibliothèque de classes réutilisable je vais créer
un nouveau project de type bibliothèque de classes que je vais mettre à
l'intérieur de ce dossier.
J'aurais donc quelque chose dans le style :
C:PROJECTSCOMMONLIBCOMMONLIB.VBPROJ
Dans votre exemple je pourrais classer cette fonction à l'intérieur d'un
namespace de type CommonLib (en admettant que celui-ci soit mon
namespace principal, un peu comme System).
J'aurais donc CommonLib.Globalization (vu que cette fonction gère les
"cultures".
Dans votre cas NomJour pourrait être une statique (Shared en VB), une
staitque vous permet d'appeler directement la méthode sans avoir à
invoquer un new au préalable.

J'aurais donc :

Imports System

namespace CommonLib.Globalization

Public Shared Function NomJour(ByVal intWeekDay as Integer) As String
Select case intWeekDay
Case 1 : Return "Dimanche"
Case 2 : Return "Lundi"
Case 3 : Return "Mardi"
Case 4 : Return "Mercredi"
Case 5 : Return "Jeudi"
Case 6 : Return "Vendredi"
Case 7 : Return "Samedi"
End Select
End Function

L'accesseur public me permet de réutiliser la fonction où que je sois
(c'est à dire dans la même assembly ou dans une assembly différente).

A ce moment là j'ai ma bibliothèque de classes qui commence à être pas mal.
Maintenant je veux l'utiliser.
Je crée un projet PROJET1, il va se trouver dans C:PROJECTSPROJECT1
(de type windows application ou bien web application peu importe).
Dans ma solution il me suffit de dire j'ajoute un projet existant
(n'oubliez pas une solution comporte un ou plusieurs projet), et je
choisis mon projet CommonLib.vbproj.
Il vous faut ensuite référencer ce projet à l'intérieur du projet
PROJET1 (bouton droit dans References et ajouter une référence).
Voilà vous aurez un raccourci sur CommonLib.
Ensuite vous pouvez faire la même chose pour un projet PROJET2...
L'avantage est que lorsque vous aurez besoin d'un nouveau composant
réutilisable vous n'avez qu'à modifier le raccourci vers CommonLib à
l'intérieur de votre solution.

Au départ ce n'est pas évident mais c'est comme tout à force de
pratiquer cela devient un automatisme.
Je vous conseille également d'éditer vos fichiers .vbproj et .sln afin
de voir comment visual studio établit les liens. Cela vous aidera en cas
de problème.

En espérant que cela vous aide.
N'hésitez pas à me poser d'autres questions si certains points vous
paraissent flous.

Franck Quintana
Active+ Software
http://www.activeplus.com

Olivier wrote:
Salut,

Oui en fait ce n'est pas du tout pareil :- je suis paumé là un peu

Est-ce que tu pourrais me donner un exemple pour comment externaliser des
fonctions réutilisables ?

J'utilise le Visual Web Developpement Express

Par exemple je souhaite créer une fonction qui me donne le nom du jour (ex:
Dimanche)
(je pense que cela doit déjà exister et c'est juste un exemple qui je
souhaiterai faire

Donc je pense comprendre qu'il faille rédiger le code comme cela :

Imports System

namespace MonAppli1

Function NomJour(ByVal intWeekDay as Integer) As String
Select case intWeekDay
Case 1 : Return "Dimanche"
Case 2 : Return "Lundi"
Case 3 : Return "Mardi"
Case 4 : Return "Mercredi"
Case 5 : Return "Jeudi"
Case 6 : Return "Vendredi"
Case 7 : Return "Samedi"
End Select
End Function


mais ensuite comment je l'utilise dans mes projets ? tu pourrais m'expliquer
stp ?

Merci d'avance à toi :-)


Olivier