Traduction VB.NET --> ASP.NET

Résolu
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 - 6 août 2010 à 12:45
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 31 août 2010 à 17:56
Salut,
Bin en fait je voudrais la translation du code suivant de vb.net 2008 à asp.net 2008:

Private Sub RefreshDataSource()

        Me.UserTableAdapter.Fill(Me.DataSetUser.User)
        Me.AdminTableAdapter.Fill(Me.DataSetUser.Admin)

    End Sub


(ici j'ai utiliser le VB Express Edition)
J'ai un petit peu essayer tout seul et je trouve ça (j'utilise ici le Visual Web Designer 2008):

Private Sub RefreshDataSource()

        DataSetUserTableAdapters.UserTableAdapter.Fill(DataSetUser.User)
        DataSetUserTableAdapters.AdminTableAdapter.Fill(DataSetUser.Admin)

    End Sub


Et comme erreur (DataSetUserTableAdapters.UserTableAdapter.Fill et DataSetUserTableAdapters.AdminTableAdapter.Fill sont soulignés en bleu) j'ai : une référence à un membre non partagé requiert une référence d'objet.
Merci d'avance

Forza Taraji!!

39 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
20 août 2010 à 15:35
Que dois-je changer?(je sais que je dois changer mail.From entre autres mais par quoi?Sachant que je dois présenter mon travail à l'université.Donc, dois-je mettre l'adresse mail de la fac?)


Oui c'est préférable, aussi change les paramètres SMTP du web.config

2/Comment je dois faire exactement pour publier mon service?(Dans ton tuto Mayzz,tu utilise des fichiers .asmx alors que moi mes fichiers sont des fichiers .aspx, y a-t-il une différence pour la publication?)J'ai bossé avec VS.Net 2008 de la boîte. Si je télécharge la version d'essai de VWD, est-ce que ça peut suffire?


Un fichier asmx est un webservice, donc il peut être inclus dans un projet .Net (même Winform), mais il peut également être visualisé via un navigateur (ce n'est pas vraiment le but, ça c'est plus pour l'analyse ou la correction).

Un page aspx est une page web dynamique avec script coté client et serveur, au même titre qu'une page PHP.

Bien entendu, pour faire fonctionner cette application elle doit être hébergé par un serveur Web(démon) prenant en charge les technologies .Net comme IIS, le serveur(PC) devra aussi avoir le .Net framework d'installé.

Le reste n'est qu'une question de configuration, il suffit d'ajouter le site web à IIS en précisant le chemin d'accès de celui-ci.

Au niveau des données, la chaine de connexion du web.config devra également être changée, elle devra pointer vers un serveur existant, sinon il faudra en installer un en local.

Voila, si tu rencontres des problèmes durant la mise en place n'hésite pas.

@+

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
24 août 2010 à 11:01
Salut,
Je suis arrivé à publié via IIS mon site mais j'ai un problème (comme d'hab, il faut dire) :
Les pages qui ont marché sont les pages ne contenant pas les MsgBox. J'ai lu que les MsgBox ne marchaient pas car c'est du WinForm et que côté client, il ne pouvait pas les lire. Que dois-je faire? Tout remettre en alert()? (le problème avec alert c'est que je ne peut pas mettre de titre en dessus comme dans les MsgBox et que je n'ai pas trop envie de refaire tout mes MsgBox).
Et est-ce qu'il y a d'autres "pièges" comme celui du MsgBox (parce que je me rends compte que j'ai développé beaucoup comme si c'était du VB alors que ce n'est apparemment pas recommandé).
Thanks

Forza Taraji!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 août 2010 à 14:52
Nous y voila !

Ne t'inquiète pas, à mes débuts en ASP.Net (étant autodidacte), j'ai eu comme toi la bonne surprise !

Et oui en effet, il faut connaitre le fonctionnement de l'asp.net pour connaître les éventuels pièges.

Prenons pour exemple une page web aspx. Elle se compose de deux fichiers. Le fichier .aspx et le fichier .vb (Visual Basic) ou .cs (C Sharp). Aucun de ces deux fichiers ne sera transmit dans l'état à un navigateur, et fort heureusement sinon nous aurions les sources de tous les sites web et donc les éventuelles identifiants de connexion au données etc...

Non en vérité, les navigateurs, ne supportent pas le langage vb ou c#, ni même le langage asp (les balises ).

Elles servent au serveur pour créer des éléments HTML qui seront envoyé au client. Donc lors ce que tu demande une page aspx au serveur, celui-ci va ouvrir le fichier .aspx puis exécuter le code au behind.
Pour le cas d'un DataGrid par exemple, une fois celui-ci rempli par une requête select, ce n'est pas un DataGrid comme on le connaît sous Winform qui sera envoyé, mais un tableau HTML contenant nos valeurs et la mise en form. Tout prête à croire qu'on télécharge une Assembly et que c'est un contrôle asp. qui s'affiche dans nos pages mais non, c'est le serveur qui transforme le contrôle asp. en contrôle HTML.

Donc oui, voila pourquoi les messagebox ne s'afficheront jamais chez le client, car c'est le serveur qui les exécute.

Et même si tu souhaite les remplacer par des alertes JavaScript, ce risque d'être compliqué car le JavaScript se déroule coté client et comme je te l'ai dis tout à l'heure le client n'a pas accès au code behind, ni au contrôles asp, il a simplement accès au contrôles 'traduits en html' renvoyés par le serveur.

Il faut donc supprimer carrément tes messagebox.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
25 août 2010 à 10:43
Salut,
Bin finalement c'est ce que j'ai fait. Je me suis tapé tout les MsgBox. Bon j'y suis arrivé. Il y a aussi d'autres surprises comme l'incapacité d'ouvrir des fichiers word et txt. J'ai dû utiliser le StreamReader et faire de nouveaux formulaires. De même qu'il fallait donner à l'autorisation à IIS de faire des modifications sur mon répertoire (sinon je ne pourrais qu'avoir un accès en mode lecture seulement de la base). Bref, hier, j'étais venu pour faire ma présentation du projet au boss mais je me suis finalement tapé 5h de boulot (comme quoi ma prof avait raison en disant que la vérification est plus compliquée que le développement).
En tout cas, là il ne me reste qu'un DERNIER problème : Vu que je ne peut pas ouvrir un fichier txt lors du déploiement du site (non pas lors du debbugage) il me faut trouver un moyen d'ouvrir deux fenêtres en même temps. J'ai essayé avec les popup mais ça n'a pas marché (j'ai vérifié que Chrome et Explorer ne bloque pas les fenêtres intempestives).
J'ai utilisé cette ligne de code

Page.ClientScript.RegisterStartupScript(Page.GetType(), "PopUp", "<script language='javascript'> window.open('Login.aspx', 'nomfenetre','width=750,height=500,left=600,top=300,scrollbars=0'); </script>")


En tout cas, encore merci pour ton aide.

Forza Taraji!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
25 août 2010 à 10:53
Bin ça va j'ai trouvé.J'ai utilisé cette ligne de code :

Response.Write("<script>window.open('fichier.aspx', 'nomfenetre', 'width=300,height=200,left=600,top=300,scrollbars=0');</script>")


Mais par contre, ça ne marche qu'avec IE (non pas avec Chrome).

Thanks en tout cas.

Forza Taraji!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
25 août 2010 à 14:12
Vu que je ne peut pas ouvrir un fichier txt lors du déploiement du site (non pas lors du debbugage) il me faut trouver un moyen d'ouvrir deux fenêtres en même temps


Je ne comprends pas ton but ? Lors du déploiement ? Tu veux dire un readme ?
Si c'est le cas, tu déploies coté serveur ? Pas coté client ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
31 août 2010 à 10:41
Salut! (ça fait un bail)
Bin aujourd'hui j'ai eu envi d'installer mon site sur ma bécane (vista édition familiale) et bien sur ça ne marche pas (sinon je n'aurai pas dérangé tout le monde). Bref, le problème c'est qu'il ne veut pas se connecter à la base .mdf. J'ai lu un topic de vbfrance (ou aspfrance, je ne sais plus) et j'ai pas su comment changer la chaîne de connexion qui me semble d'ailleurs correcte. Je pense que mon problème c'est que je n'ai pas la version complète de Visual Studio car en ouvrant mes dossiers le fichier .mdf n'a pas d'icone particulière (c'est une icone où il y a juste un fichier blanc) et alors que je peux accéder et manipuler ma base access. En fait, je n'ai que VB Express 2010 et VWD express 2008 avec aussi SQL Server R2 2008 et VC++ 2008.
Donc est-ce que je dois télécharger un composant pour pouvoir lire des .mdf?? Lequel?

Merci d'avance

Forza Taraji!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 août 2010 à 11:17
Bah le problème des version express c'est qu'elle ne prennent pas en charge les connexion distantes SQL Server.

Donc au niveau de ta chaine de connexion, vire les IDs, et remplace les par Integrated Security=SSPI. Aussi à la place de l'IP il faut donner le nom de ton instance SQL Server, server=".\SQLEXPRESS"

Par contre ce qui m'étonne c'est que IIS soit présent sur les version familiale de Vista.

Je te conseille aussi d'installer SSMS si c'est pas déjà fait.

@+ tien moi au ju !

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
31 août 2010 à 11:55
J'ai essayé d'installé SSMS mais le fichier que je télécharge m'ouvre une interface que je n'ai pas du tout pigé et au final ça ne marche pas.
Le lien où j'ai téléchargé SSMS :
http://www.microsoft.com/downloads/details.aspx?familyid=08E52AC2-1D62-45F6-9A4A-4B76A8564A2B&displaylang=fr#filelist
(j'ai choisi le x84 parce que je pense que le x64 c'est pour le 64 bits et le mien c'est un vista 32 bits)

Là j'ai tout désinstallé du côté de sql server (toutes les composantes et je vais réessayer d'installé en commençant par le début).Sinon, je vais demandé au boss de la boîte d'installé leur version complète de Visual Studio 2008.

Je te tiens à l'électricité

Forza Taraji!!
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
31 août 2010 à 11:58
Au fait, la chaîne de connexion est la suivante :
Data Source=.\SQLEXPRESS;AttachDbFilename=C:\inetpub\wwwroot\E-Syndic\App_Data\Database.mdf;Integrated Security=True;User Instance=True

Donc il n'y a pas de IDs mais l'Integrated Security =True et non pas SSPI

Forza Taraji!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 août 2010 à 12:25
Ca devrait être bon, mais qu'as-tu comme message d'erreur au final ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
31 août 2010 à 12:32
Je viens de finir la réinstallation et là j'ai SSMS (apparemment comme j'ai téléchargé et installé un peu de tout pour avoir SQL Server, ça a créé des conflits) . Je vais réessayé avec ma base. Je te tiens au courant.

Forza Taraji!!
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
31 août 2010 à 12:35
Non j'ai toujours le même problème avec ma base .mdf.
Des suggestions?

Forza Taraji!!
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
31 août 2010 à 12:52
J'en ai discuté avec mon encadreur, il se peut qu'il me faut SQL Server 2005 (parce qu'à la boîte, j'ai travaillé avec cette version).Mais ce que je ne pige pas, c'est que même lorsque je fais ajouter une nouvelle connexion, et que je choisisse le format .mdf, ça bug avec le même message d'erreur :

Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (provider: Interfaces réseau SQL, error: 26 - Erreur lors de la localisation du serveur/de l'instance spécifiés)



Forza Taraji!!
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
31 août 2010 à 14:34
ça marche !!!! It's a gooooooooooooooooooal !!!
Enfin, toute une matinée avec un débit de merde à télécharger des versions de sql server.
Finalement il fallait le SQLSERVER 2005 1.0.je ne sais plus quoi.
En tout, l'essentiel c'est que ça marche.
En tout cas, merci bcp pour ton aide.
Maintenant,faut que je rédige mon rapport de stage pour jeudi.
Goodbye

Forza Taraji!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 août 2010 à 15:01
Vu ton message d'erreur cela provenait du fait que le nom de l'instance n'était pas correct.

SQLEXPRESS est le nom donné par défaut au instances SQL Server 2005, pour SQL Server 2008 je ne sais plus, il me semble de toute façon, qu'à par en installant VWD, toutes les installation de SS2008 te demande de fournir un nom d'instance.

Sinon normalement, en SS 2008 ta base passe, mais pas dans VS, sauf SP1, il ne gère pas SS2008.




Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
31 août 2010 à 15:28
Merci pour les précisions.
Juste une petite question indiscrète : Tu fais quoi comme boulot? t'es dans une boîte de développement ou quelque chose comme ça? Parce qu'en janvier j'ai mon pfe à faire et je voudrais bien le faire en France (de préférence à Paris parce que j'ai des amis chez qui je pourrai squatter mais en province aussi ça ne me dérangerai pas) pour changer d'air et vivre quelque chose de nouveau (23 ans et encore chez mes parents, ça c'est les jeunes à Tunis). J'ai vu un petit dans les sites d'offres de stages (tq iQuesta ...) mais la plupart n'ont pas des offres pour janvier (apparemment c'est encore trop tôt) et je n'ai fais que d'afficher mon CV mais sans grande conviction vu que si j'était un recruteur je prendrais quelqu'un vivant en France qu'un autre venant d'ailleurs. Donc, on m'a conseillé de voir mes amis s'ils ne pouvait pas m'obtenir quelque chose (d'intéressant de préférence car à l'ENSI, ils sont assez dur avec ceux qui font des stages à l'étranger) et c'est ce que j'ai fait. Vu qu'il viennent de repartir en France je ne pense pas avoir une réponse immédiatement et c'est pour cela que j'essaie d'optimiser mes chances.
Bref, en tout cas merci bcp pour ton aide.

Forza Taraji!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 août 2010 à 17:55
Je te répond mais en MP.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 août 2010 à 17:56
Je te réponds mais en MP.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Rejoignez-nous