Meilleur auteur de réponses
Les div editable c# aspx

Question
-
Salut tout le monde!
J'aimerais savoir si possible de faire un div editable en asp c#
Entrer directement du text qui sera sauveguarder dans un fichier .htm et relus dans une div dans le site
Mais je veut rien qui ressemble au editeur dans les blog trop compliquer a placer et a faire fonctionner
j'en ai pas trouver de facille et qui travaillait bien . toujours des erreur ici et la
j'essayer des editeur en javascript mais lors quil sagit de recuperer le text faut toujour avoir php et je connait pas
Peut t'on m'aider ici SVP!
BigDan
Réponses
-
Merci nikho pour les exemples.
Daniel, dès que vous rencontrez des problèmes dans votre étude, je vous propose d’ouvrir un thread spécifique. Ça vous aidera à recevoir des réponses plus précises et il sera utile aussi aux autres membres du forum qui cherchent peut-être les mêmes informations.
Cordialement,
Alex
Alex Petrescu - MSFT- Marqué comme réponse DanielMorais jeudi 18 février 2010 02:50
Toutes les réponses
-
Bonsoir,
Pour effectuer une saisie au sein d'un div vous aurez besoin d'un control.
Vous pourriez utiliser une simple TextArea ( une asp TextBox en mode multiligne ) pour saisir le Text. Ensuite via un event dans le code behind vous pouvez sauvegarder son contenu dans un fichier text ou autre en fonction de votre besoin.
Si vous souhaitez otbenir un rendu html différent en consultation ou édition vous pouvez afficher le text au sein de la textarea ou directement dans le div.
Certains controls possédent des templates de consultation, d'édition ... pour répondre à ce besoin
Cordialement
-
-
Bonjour,
Pour enregistrer le texte d’un textbox je vous conseille de lire la fonctionnalité du RichTextBox .
Pour la suite, je vous propose ce thread qui présente un problème similaire.
http://stackoverflow.com/questions/175381/how-to-edit-css-style-of-a-div-using-c-in-net
Cordialement,
Alex
Alex Petrescu - MSFT -
-
-
je suis au point mort pour l'instant
les choses sont un peut compliquées pour le moment
je suis pas vite pour comprendre les codes et parfois
il me faut plusieurs tentatives.
j'y arrive un peut avec le c# mais avec l'asp.net c'est
different. je dois faire plus attention a ce que je fait
je suis pas programmeur je fais ca pour passer le temps
et me détendre et lors que ca devient intrusif je fais autre choses.
Mon probleme est je comprend pas trop bien les fonctions des div et des
textarea et tout ce que j'ai trouver pour l'instant fonctionne pas et fonctionne avec PHP que je ne comprend pas et ne connait pas. Ca complique les choses.
et pourtant tout ce que je veut est un boite editable apres insertion de mot passe pour y modifier le texte de temps a autre
Mais j'essais quand meme.
Merci encore de votre intéret et votre aides qui s'avère tres utile..
BigDan -
Bonsoir,
vous trouverez ci dessous un petit exemple qui j'espère vous aidera dans votre recherche. En plus des commentaires voici quelques explications.
La page comporte deux Panels ( qui génèrent les div )
- un panel sert à l'édition : il contient un une TextBox pour saisir le Text, et un bouton pour la sauvegarde
- un panel sert à l'affichage simple du text
- un link button sert à afficher ou masquer le panel d'édition du text
La sauvegarde est effectué dans un fichier text à la racine du site. ( il faut donc possédez les droits d'écriture )
Cordialement
Le contenu de la page aspx
<form id="form1" runat="server"> <div> <asp:LinkButton runat="server" ID="lnkButton" onclick="lnkButton_Click"> </asp:LinkButton> <asp:Panel runat="server" ID="pnlEdit" Visible="false"> <asp:TextBox runat="server" ID="txtEdit" Rows="10" TextMode="MultiLine" Columns="50"></asp:TextBox> <asp:Button runat="server" ID="btnSave" onclick="btnSave_Click" Text="Sauvegarde"/> </asp:Panel> <asp:Panel runat="server" ID="Panel1"> Mon Div : <asp:Literal runat="server" ID="ltView"></asp:Literal> </asp:Panel> </div> </form>
Le code behind
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; namespace Test { public partial class EditDiv : System.Web.UI.Page { public string FileNamePath { get { return Server.MapPath("MonFichier.txt"); } } protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { // cache le div this.ManagePanel(false); // lit le fichier si il existe // et affecte son contenu à la textbox et au div if (File.Exists(this.FileNamePath)) { string divContent = File.ReadAllText(FileNamePath); this.txtEdit.Text = divContent; this.ltView.Text = divContent; } } } /// <summary> /// Affiche ou cahe le div d'édition /// </summary> /// <param name="visible"></param> private void ManagePanel(bool visible) { if (visible) { this.pnlEdit.Visible = true; this.lnkButton.Text = "Fermer le Div"; } else { this.pnlEdit.Visible = false; this.lnkButton.Text = "Editer le Div"; } } /// <summary> /// Event associé ou bouton pour sauvegarder le contenu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSave_Click(object sender, EventArgs e) { // gestion des retours à la lignes string content = this.txtEdit.Text.Replace(Environment.NewLine, "<br>"); // sauvegarde du fichier à la racine du site File.WriteAllText(this.FileNamePath, content); // affecte le contenu de la textbox this.ltView.Text = content; // cache le div d'édition this.ManagePanel(false); } protected void lnkButton_Click(object sender, EventArgs e) { // gestion visibilité this.ManagePanel(!this.pnlEdit.Visible); } } }
- Marqué comme réponse Alex Petrescu lundi 15 février 2010 13:55
- Non marqué comme réponse DanielMorais dimanche 21 février 2010 02:19
-
Merci nikho pour les exemples.
Daniel, dès que vous rencontrez des problèmes dans votre étude, je vous propose d’ouvrir un thread spécifique. Ça vous aidera à recevoir des réponses plus précises et il sera utile aussi aux autres membres du forum qui cherchent peut-être les mêmes informations.
Cordialement,
Alex
Alex Petrescu - MSFT- Marqué comme réponse DanielMorais jeudi 18 février 2010 02:50
-
Merci a tous pour ca et desole de ne pas avoir fait de reponse a vos comm
ca m'aide beaucoup et j'apprecie
mais je suis pas la souvent car la recherhce d'emploi me procupe beaucoup de ce temps ci
Merci encore
BigDan- Marqué comme réponse DanielMorais jeudi 18 février 2010 02:50
- Non marqué comme réponse DanielMorais dimanche 21 février 2010 02:19
-
Merci encore mais j'obtien l'erreur suivant
lorsque je tente de fermer ou enregistrer le texte
En fait il me fait savoir que il ne peut pas enregistre le fichier parce que celui-ci est modifier
a Linsertion dan le textbox editable
la premiere fois apres l'enregistrement si je ferme pas la page il est ok mais si je ferme tout et revient le text est wraper et ccontient de <br /> au lieu des saut de ligne normal et je peut plus rien faire
Erreur du serveur dans l'application '/wwwroot'.
Une valeur Request.Form potentiellement dangereuse a été détectée à partir du client (ctl00$MainContent$txtEdit="...st mon nom<br />Daniel Morais ...").
Description : La validation de la demande a détecté une valeur d'entrée du client potentiellement dangereuse et le traitement de la demande a été abandonné. Cette valeur peut indiquer une tentative pour compromettre la sécurité de votre application, telle qu'une attaque de script entre sites. Vous pouvez désactiver la validation de la demande en définissant validateRequest=false dans la directive de page ou dans la section de configuration . Cependant, il est fortement recommandé que votre application contrôle explicitement toutes les entrées dans ce cas là.
Détails de l'exception: System.Web.HttpRequestValidationException: Une valeur Request.Form potentiellement dangereuse a été détectée à partir du client (ctl00$MainContent$txtEdit="...st mon nom<br />Daniel Morais ...").
Erreur source:
[Aucune ligne source appropriée]
Fichier source : c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\wwwroot\2bbdc88e\d7824084\App_Web_opfglirs.0.cs Ligne : 0
Trace de la pile:
[HttpRequestValidationException (0x80004005): Une valeur Request.Form potentiellement dangereuse a été détectée à partir du client (ctl00$MainContent$txtEdit="...st mon nom<br />Daniel Morais ...").] System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName) +8721914 System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName) +111 System.Web.HttpRequest.get_Form() +129 System.Web.HttpRequest.get_HasForm() +8722023 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97 System.Web.UI.Page.DeterminePostBackMode() +63 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242 System.Web.UI.Page.ProcessRequest() +80 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21 System.Web.UI.Page.ProcessRequest(HttpContext context) +49 ASP.default_aspx.ProcessRequest(HttpContext context) in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\wwwroot\2bbdc88e\d7824084\App_Web_opfglirs.0.cs:0 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
eststring
content = this.txtEdit.Text.Replace(Environment.NewLine, "<br />");
y aurait il une erreur dans cette facon faire
Merci
Informations sur la version : Version Microsoft .NET Framework :2.0.50727.3603; Version ASP.NET :2.0.50727.3082
BigDan -
Bonjour,
dans mon exemple le contenu du fichier est placé dans un control de type litéral : pour conserver les sauts de ligne éventuelles ceux ci sont donc remplacer par leur équivalent html <br />
Pour l'édition, pour éviter l'avertissement de sécurité il faut effectivement effectuer l'opération inverse :
this.txtEdit.Text = divContent.Replace("<br />", Environment.NewLine);
Si besoin tu peux également utiliser HttpUtility.HtmlDecode / HtmlDecode
Cordialement -
Merci beaucoup j'ai effectivement crus comprendre ca vu qu'il etait dans le save to file
mais je l'ai compris un peut avant cette reponse
Merci encore la preuve que je dois reguarder plus longtemps les code afin de mieu les comprendre
la dessus je le concoit je suit pas vite.
et j 'aimerait savoir si possible si on peut ajouter quelques fonction a ce truc
couleur de texte et taille et alignement
ou il me faut modifier le tout
Merci
BigDan