2009-07-06 7 views
8

J'utilise WMD-Editor et chercherais à stocker à la fois la version Markdown et HTML du texte qui est entré.Comment récupérer à la fois le markdown et html en utilisant le contrôle wmd-editor?

Je peux seulement sembler avoir accès à la sortie comme Markdown OU HTML, mais pas les deux. J'utilise ASP.NET MVC et j'essaie d'obtenir quelque chose comme le code suivant pour travailler ... je ne sais pas comment obtenir au format HTML.

Voici un extrait du code HTML:

  <p> 
       <%= Html.TextArea("Body", this.Model.Body)%> 
       <%= Html.ValidationMessage("Body", "*") %> 
       <div class="wmd-preview"> 
       </div> 
      </p> 

Voici ce que je voudrais faire dans mon contrôleur:

[AcceptVerbs(HttpVerbs.Post), Authorize] 
    public ActionResult Edit(int id, FormCollection collection) 
    { 
     ... 

     article.Title = collection["Title"]; 
     article.Body = collection["Body"]; 
     article.BodyHtml = collection["BodyHtml"]; 

     ... 
    } 

Toutes les idées sur la façon d'y arriver serait très apprécié!

+0

N'a pas Stackoverflow faire quelque chose de semblable à cela? – mattruma

Répondre

11

J'utilise Markdown.NET library pour cela. En utilisant cette bibliothèque, vous pouvez convertir le balisage Markdown du côté serveur. Il est très simple:

[AcceptVerbs(HttpVerbs.Post), Authorize] 
public ActionResult Edit(int id, FormCollection collection) 
{ 
    ... 

    article.Title = collection["Title"]; 
    article.Body = collection["Body"]; 

    var bodyHtml = new anrControls.Markdown().Transform(collection["Body"]); 

    article.BodyHtml = bodyHtml; 

    ... 
} 

Hope this helps

+0

Cela a fonctionné parfaitement! Merci beaucoup! – mattruma

+0

Cette bibliothèque Markdown.NET est assez ancienne maintenant (non mise à jour depuis novembre 2004). Connaissez-vous une version plus récente, ou cette version est-elle toujours la version définitive? –

Questions connexes