Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementformulaire dans un bloc htmlformulaire dans un bloc html
Précédente
 
Suivante
Nouveau message
22/11/2007 10:34
 

Bonjour,

je viens d'ajouter une formulaire dans un module de gestion de contenu.
Et il ne fonctionne pas! pourtant, si je le sors de dnn, il fonctionne...

Y a t il quelque chose à faire dans dnn, j'ai remarqué que dans mon fckeditor ce formulaire été entouré de pointillé rouge.

voici mon formulaire au cas ou :
<form method="post" action="http://page d'un autre site">
<input type="text" id="login" />
<input type="password" id="password" />
<input type="submit" value="ok"/>
</form>

comment faut-il faire, car la ma page se recharge mais mon formulaire n'est pas validé visiblement...

 
Nouveau message
22/11/2007 15:53
 

Bonjour,

C'est tout à fait normal. En HTML déjà, et donc à plus forte raison en ASP.NET, tu ne peux pas avoir un formulaire imbriqué dans un autre formulaire. Or DNN, c'est en réalité une seule page qui contient un formulaire !

Que veux-tu faire plus précisément ? Peut-être existe t'il déjà un module pour ton besoin.

Gilles

 
Nouveau message
22/11/2007 16:33
 

Bonsoir,

Je souhaite remplir un formulaire que j'envoi sur un autre site. Ensuite l'autre site récupère les infos envoyées et me permet de m'authentifier automatiquement!
En fait j'ai mis mon bout de code sur mon premier message.
Et je souhaitais utiliser un formulaire en post afin de ne pas voir les paramètres dans l'URL. et surtout je ne voulais pas passer par un control car je voulais pouvoir le mettre partout (au milieu d'un bloc de saisie de contenu par exemple...)


je comprends que dnn utilise un formulaire pour générer sa page complète. ceci interdit alors l'utilisation de formulaire sur DNN?
Mais j'ai vu qu'il y avait des modules de génération de formulaire comment font-ils pour marcher.
Je comprends parfaitement qu'on ne peut pas imbriquer deux formulaires entre eux mais je trouve que c restrictif...j'essaye de chercher une astuce pour contourner le pb mais je coince un peu!

 
Nouveau message
22/11/2007 17:25
 

Bonsoir,

Les modules de formulaire sont des modules ! Donc ils s'appuyent sur dnn pour contourner ce problème. Le formulaire dnn reçoit la demande et la transmet au module. Dans le cas d'un post sur un autre serveur, ils créent une requête directement dans le code et post le tout vers le serveur. Ce problème n'est pas inhérent à dnn mais commun et dû à une restriction tout à fait compréhensible de la norme html.

Depuis ASP.NET 2, il y a une astuce justement. Le contrôle Button possède une propriété PostBackUrl pour faire ceci. Seulement, je ne suis pas sûr que cela fonctionnera dans un module Text/HTML. Tu peux essayer ce bout de code, mais sans garantie :

<input type="text" id="login" />
<input type="password" id="password" />
<asp:Button Text="ok" PostBackUrl="http://urldetonsite/" />

Gilles

 
Nouveau message
22/11/2007 22:38
 

Sacha
 
Nouveau message
23/11/2007 12:29
 

Merci pour vos deux méthodes.

Dans un module perso j'ai utilisé le PostBackUrl et dans un bloc de gestion de contenu le onClick="this.form.action='urlautresite';this.form.submit();"

Les deux fonctionnent mais visiblement j'ai un problème d'encodage car sur le site de destination, j'ai l'erreur suivante : : System.Web.HttpException: Impossible de valider les données

Sachant que le site DNN est en 2.0 et mon site de destination en 1.1... je ne sais pas si le problème vient de là

En tous cas merci, je vais creuser la solution pour le pb de validité des données

 
Nouveau message
23/11/2007 14:19
 

Je soupçonne que ce soit une histoire de Viewstate, car c'est donc celui du DNN qui est envoyé au deuxième site qui doit probablement se mélanger les pinceaux en analysant les données postées par le premier.

Pour ma part, même si l'idée du onClick est intéressante, je préférerais l'utilisation au choix:

  • d'un module IFrame histoire de complètement encapsuler l'utilisation du deuxième site dans le premier
  • d'une requête Http créée de toute pièce (HttpRequest), exécutée depuis le serveur avec traitement de la réponse en retour.

Quoiqu'il en soit, je ne suis pas sûr de bien comprendre cette histoire de formulaire hétérogène, d'autant plus dans une problématique d'authentification. Pouvez-vous être un peu plus précis sur l'ensemble du process?


Jesse
Société de conseil et de service en 
informatique et systèmes d'information
 
Nouveau message
26/11/2007 15:10
 

oui c'est effectivement le viwstate qui vient mettre la pagaille!

En fait pour essayer de résumer mon problème :

Prenons par exemple un site A qui correspond à un site vitrine (de présentation) d'une société. Ce site utilise DNN

Prenons un site B qui est le site de vente en ligne de cette société. La vente étant réservée aux clients de la société donc accessible via login mot de passe.

A partir du site A, je souhaite mettre en avant les produits vendu sur le site B. Et je souhaite que ceux qui ont un compte puisse saisir les login mot de passe sur le site A puis être authentifié automatiquement sur le site et être redirigée vers la fiche produit qu'il était en train de voir sur le site A.

Voilà pour mon cas.

Donc à l'origne je souhaitais faire un formulaire en gestion de contenu. Vu les problèmes que j'ai eu avec le viewstate j'ai finalement opté pour un module

Donc j'ai la main sur ce que j'envoi au serveur B, et mon pb est résolu (bon pas comme je l'imaginai, mais c bon ça marche maintenant!!!)

MErci en tout cas pour tous ces pistes... ça m'a beaucoup dépanné!

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementformulaire dans un bloc htmlformulaire dans un bloc html