servicestack,Markdown,servicestack" /> servicestack,Markdown,servicestack" />

Markdown 如何在Razor视图中呈现数据库中的标记文本?

Markdown 如何在Razor视图中呈现数据库中的标记文本?,markdown,servicestack,Markdown,servicestack,因此,我正在处理自己的自定义路由映射(而不是让ServiceStack自动处理),这仅仅是因为我的所有数据都存储在数据库、页面内容和所有内容中。我有一系列_Layout.cshtml文件,我的标记存储为字符串 所以我想我会问,我需要为映射的路由继承什么类型的服务(常规服务?),以及我需要返回什么状态“使用布局X和字符串Y中的标记” 我已经阅读了ServiceStack Wiki和new example页面上的示例,但找不到实现这一点的任何示例(所有内容似乎都是从文件中读取标记,从数据库中读取变量

因此,我正在处理自己的自定义路由映射(而不是让ServiceStack自动处理),这仅仅是因为我的所有数据都存储在数据库、页面内容和所有内容中。我有一系列_Layout.cshtml文件,我的标记存储为字符串

所以我想我会问,我需要为映射的路由继承什么类型的服务(常规服务?),以及我需要返回什么状态“使用布局X和字符串Y中的标记”

我已经阅读了ServiceStack Wiki和new example页面上的示例,但找不到实现这一点的任何示例(所有内容似乎都是从文件中读取标记,从数据库中读取变量)

请让我知道,如果我在我的问题不清楚,我会很高兴地修改它相应

--

编辑 一些澄清:

是的,我有常规的剃须刀页面要加载。 是的,我得到了要加载的文件的常规降价


我现在只是想知道如何将标记呈现到Razor方法“RenderBody()”中,该方法是一个字符串(来自我的数据库)。

如果您只是想将标记文本呈现为HTML(不是Markdown Razor,即没有Razor功能!),您需要执行以下两个步骤:

var renderer = new MarkdownSharp.Markdown();
string html = renderer.Transform("___your_markdown_markup_here___");
现在,您只需将呈现的HTML添加到Razor视图的适当位置,例如


但是,如果您的目标是在Razor视图中呈现正常的标记视图(即ServiceStack项目中的
.md
文件),则需要遵循以下引用:

在Razor页面中包含部分降价视图 我们非常喜欢Markdown和Razor,ServiceStack中包含的 具有Razor功能和语法的Markdown增强版 被称为Markdown Razor,应该是现有的 剃须刀用户

我们预计Razor+降价将越来越受欢迎 组合我们扩展了@Html.Partial()支持,还嵌入了 来自不同视图引擎的片段。此功能允许您嵌入任何 我们在Rockstar的每个内容中都做了降价页面 使用标准Razor部分语法的页面:

@Html.Partial("Content")
它告诉ServiceStack在该位置的页面中嵌入部分命名内容。首先,它将查找一个名为 Content.cshtml,如果达到 Markdown Razor视图引擎。最初,它搜索当前文件 目录,后跟/Views/Shared中的任何匹配部分 文件夹


引用自。

请先尝试在没有自定义路由的情况下创建它(顺便说一句,为什么ServiceStack内置不适合?)。您已经尝试了什么,问题是从哪里开始的?