2009-07-06 7 views
8

Estoy usando WMD-Editor y buscaría almacenar el Markdown y la versión HTML del texto que se ingresa.¿Cómo recuperar AMBOS los descuentos y html usando el control wmd-editor?

Parece que solo tengo acceso a la salida como Markdown O HTML, pero no ambos.

Estoy utilizando ASP.NET MVC y estoy tratando de obtener algo como el siguiente código para trabajar ... simplemente no sé cómo llegar al HTML.

Aquí hay un fragmento del código HTML:

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

Esto es lo que me gustaría hacer en mi controlador:

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

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

     ... 
    } 

Cualquier ideas sobre cómo hacer que esto suceda sería muy apreciado!

+0

¿No Stackoverflow hacer algo similar a esto? – mattruma

Respuesta

11

Estoy usando Markdown.NET library para esto. Usando esta biblioteca puede convertir el marcado Markdown en el lado del servidor. Es muy 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; 

    ... 
} 

Esperanza esto ayuda

+0

¡Eso funcionó perfectamente! ¡Gracias una tonelada! – mattruma

+0

Esa biblioteca de Markdown.NET ya es bastante antigua (no se actualiza desde noviembre de 2004). ¿Conoces una versión más nueva, o es esa la versión definitiva? –

Cuestiones relacionadas