Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementEvenement du button dans le fichier ascxEvenement du button dans le fichier ascx
Précédente
 
Suivante
Nouveau message
22/12/2009 21:49
 

Salut,

J'ai crée un module en suivant le tutorial: http://www.asp-php.net/tutorial/asp.net/creation-module-dotnetnuke.php?page=1

Mais à la fin j'ai trouvé que le button ça marche pas, n'a pas un evenement click!

Le but c'est de créer un button et une Label dans le mode design du fichier ascx, mon code du button est simple:

protected void Button2_Click(object sender, EventArgs e)
    {

           Label1.Text = "toto";
    }

Je dois ajouter quelque chose pour que le code du button s'éxecute?

 

Merci

 

 
Nouveau message
23/12/2009 02:19
 

Bonjour,

Il y longtemps que je n'ai pas vu Jérôme dans le forum, mais compte tenu de ses compétences je présume que tu as sauté une étape quelque part. Probablement le double-clic sur le bouton pour créer la fonction correspondant à l'événement Click du bouton et la lier à celui-ci (voir page 9). A mon humble avis tu as simplement copié/collé le code de l'événement et du coup il n'est pas lié. Si c'est le cas, il faut lier ton contrôle à la méthode d'événement correspondante (Button2_Click). Il y a plusieurs façons de faire pour lier un événement à une méthode. La plus simple était de suivre à la lettre les conseils de Jérôme et de double-cliquer sur le bouton. ;-) Maintenant pour corriger et m'éviter un long cours sur Visual Studio, le plus simple est de supprimer le code de la méthode Button2_Click, puis de double-cliquer sur le bouton pour qu'il recréé une méthode et la lie au bouton.

Avant de te lancer dans la création de modules il faut quelques pré-requis pour démarrer dans de bonnes conditions. Quel est ton niveau en ASP.NET ? As-tu déjà réalisé une application complète (même simple) en ASP.NET ? Je pose ces questions car (trop) souvent les utilisateurs viennent sur DNN avec une expérience PHP et ne comprennent pas comment fonctionne une application ASP.NET. Du coup, ils blâment DotNetNuke sans comprendre que leur manque d'expérience sur ASP.NET est la cause de leurs problèmes. De même quelques connaisances de base de l'environement Visual Studio n'est pas un luxe non plus. A l'inverse, lorsque des programmeurs Windows passe sous Linux et qu'on leur dit qu'il faut utiliser VI pour modifier le code, ils ont généralement quelques problèmes pour maitriser tous les raccourcis clavier de cet éditeur de texte. Bref, quelque soit le système utilisé, il faut lui consacrer du temps !

Ensuite, il faut connaitre (et bien comprendre) les deux modèles de développement utilisés sous ASP.NET. A savoir, WSP (Web Site Project) et WAP (Web Application Project), les deux modèles peuvent être utilisés pour créer un module. Ainsi le module Survey utilise WSP, tandis que le module Store utilise WAP. En l'occurence, l'exemple de Jérôme utilise le modèle WSP. Pour information DNN est une application WSP qui s'appuie sur une librairie WAP. Je te conseille cet article sur MSDN (in English) pour bien comprendre les différences entre WSP et WAP. Enfin, pour utiliser le modèle WAP il faut VS 2005 Standard (ou supérieur) AVEC SP1 ou VS 2008 (toutes versions y compris Express) AVEC SP1.

De plus, DNN fourni sur Codeplex des Starter Kits pour Visual Studio (VB ou C#) permettant de créer automatiquement un module plus complet que celui présenté par Jérôme. Pour finir, si tu connais l'Anglais, tu peux trouver de nombreux autres exemples sur le site de Michael Washington du Core Team. Il existe aussi plusieurs livres (In English) sur DNN 4.x et 5.x (voir ceux disponibles sur Amazon par exemple). Sur le framework .Net en général, j'aime ".NET" par Dick Lantim. Il y a aussi "C# et .NET" par Gérard Leblanc. Les deux sont en français et publiés chez Eyrolles. Pour les réels débutants, "Visual C# 2008 étape par étape" de John Sharp chez Microsoft Press peut aussi convenir.

Avec ces conseils, tu devrais avoir tout ce qu'il faut pour bien démarrer sur DNN. Bien sûr, il y a aussi le forum. :-) Bienvenue à bord !

Gilles
 

 
Nouveau message
23/12/2009 09:50
 

Salut Gilles,

Non je n'ai pas fait copie/coller pour ecrire le code du button, j'ai fait un double-click sur le button après j'ai mis le code Label1.text = "toto";

J'ai un bon niveau en ASP.NET. j'ai fait la meme chose dans une page aspx ça marche bien mais dans une ascx non!!

Merci. 

 
Nouveau message
23/12/2009 14:15
 

Bonjour,

Il n'y a pas de raison pour que cela ne fonctionne pas si tu as suivi toutes les étapes (y compris enregistrer le module). Un événement fonctionne de la même façon qu'il s'agisse d'une page (aspx) ou d'un contrôle (ascx). Je n'ai pas le temps de faire le tuto pour voir si Jérôme aurait oublié une étape, mais c'est peu probable. Si tu as un bon niveau en ASP.NET, alors place un point d'arrêt sur la ligne Label1.Text = "toto"; et ouvre ton instance pour voir si le code est appelé.

Gilles

 
Nouveau message
23/12/2009 18:08
 

Salut,

J'ai trouvé le problème, c'était un problème de DNN 5 avec Internet Explorer, même le button Setting des autres modules ne fonctionne pas, et sur FareFox ça marche bien.

maintenant j'ai ajouté la balise <dnn:texteditor> mais je ne sais pas comment recupérer ce qui est écrit dans une variable ??!

Merci bien Gilles.

 
Nouveau message
23/12/2009 21:49
 

Bonjour,

Pourrais tu me dire quelle est la version exacte de DNN et de ton IE, ainsi que le nom du skin que tu utilise (est-ce celui d'origine) ? Je savais qu'il pouvait y avoir certains problèmes avec des scripts sous DNN 4.x et IE 8, mais là je suis intrigué.

Concernant le contrôle <dnn:texteditor>, tu fais comme avec presque tout les contrôles : mavariable = moncontrole.Text

La propriété Text est une recommendation de MS pour accéder au contenu d'un contrôle. Mais cela dépend surtout du type de contrôle, ainsi un élément d'une liste doit pouvoir afficher un texte auquel correspond une valeur. Dans ce cas, Text est utilisé pour l'étiquette alors que Value est utilisé pour sa valeur.

Gilles

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementEvenement du button dans le fichier ascxEvenement du button dans le fichier ascx