views:

213

answers:

1

I am using WMD-Editor and would look to store both the Markdown and HTML version of the text that is entered.

I can only seem to get access to the output as Markdown OR HTML, but not both.

I am using ASP.NET MVC and am trying to get something like the following code to work ... just don't know how to get at the HTML.

Here is a snippet of the HTML code:

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

Here is what I would like to do in my controller:

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

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

        ...
    }

Any ideas on how to make this happen would be much appreciated!

+10  A: 

I'm using Markdown.NET library for this. Using this library you can convert Markdown markup on the server side. It is very 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

eu-ge-ne
That worked perfectly! Thanks a ton!
mattruma
That Markdown.NET library is quite old now (not updated since Nov 2004). Are you aware of a newer version, or is that version still the definitive one?
Drew Noakes