8

我正在使用 WMD-Editor 并希望存储输入的文本的 Markdown 和 HTML 版本。

我似乎只能以 Markdown 或 HTML 的形式访问输出,但不能同时访问两者。

我正在使用 ASP.NET MVC 并试图让类似下面的代码工作......只是不知道如何获取 HTML。

下面是一段 HTML 代码:

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

这是我想在控制器中执行的操作:

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

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

        ...
    }

任何关于如何实现这一点的想法将不胜感激

4

1 回答 1

11

我为此使用Markdown.NET 库。使用这个库,您可以在服务器端转换 Markdown 标记。这很简单:

[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;

    ...
}

希望这可以帮助

于 2009-07-07T09:36:01.160 回答