Voici comment j'aborderais le problème la même technique générale fonctionnera sur n'importe quel site Web. Dans ce contexte DNN est juste un site Web ASP.Net moyen. Regardez d'abord le javascript qui fonctionne lorsque la mise à jour est cliqué:
__doPostBack('dnn$ctr374$EditHTML$cmdUpdate','')
Trouver la méthode __doPostBack:
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
Ceci est la méthode doPostBack standard() utilisé dans de nombreuses formes de ASP.Net. De cela, vous pouvez voir que vous voulez remplir les champs cachés __EVENTTARGET et __EVENTARGUEMENT avec les valeurs appropriées de l'appel de la méthode et soumettre le formulaire.
Bien sûr, vous devez également renseigner les données que vous souhaitez enregistrer dans le champ de saisie de la zone de texte. Il sera probablement plus facile de le faire si vous utilisez le mode de zone de texte de base du module HTML, alors vous avez juste besoin de définir la valeur d'une zone de texte plutôt que de savoir où insérer la valeur dans fckEditor, et la technique sera fonctionne toujours si le site est configuré pour utiliser le fournisseur Telerik au lieu du fournisseur fck. Une chose à surveiller est que le nom du contrôle peut changer de temps en temps, vous devez donc être sûr que vous lisez les identifiants corrects pour la cible de l'événement, et textarea non seulement coder en dur quelque chose. Lien à la fin du commentaire contient le code source complet, je crois que j'ai fait tous les contrôles que vous avez suggéré, s'il vous plaît vérifier et fournir des commentaires: http://www.dotnetnuke.com/Community/Forums/tabid/795/
forumid/201/threadid/390240/scope/posts/Default.aspx – Shoaibi
@Shoaibi, un rapide coup d'oeil sur le code au lien me semble généralement juste (ne pas mettre en doute l'expérience PHP). Je ne vois rien pour préserver le cookie de connexion, cela peut être un problème. Avec les cookies triés, j'utiliserais les en-têtes HTTP Live pour capturer toutes les valeurs d'un post manuel, et obtenir le script pour travailler avec ces valeurs. Ensuite, je modifierais les valeurs que vous voulez changer. – ScottS
Je peux éditer le texte à l'intérieur de textarea sans être connecté, ai-je vraiment besoin de maintenir cookie? – Shoaibi