Markdown 如何在Razor视图中呈现数据库中的标记文本?
因此,我正在处理自己的自定义路由映射(而不是让ServiceStack自动处理),这仅仅是因为我的所有数据都存储在数据库、页面内容和所有内容中。我有一系列_Layout.cshtml文件,我的标记存储为字符串 所以我想我会问,我需要为映射的路由继承什么类型的服务(常规服务?),以及我需要返回什么状态“使用布局X和字符串Y中的标记” 我已经阅读了ServiceStack Wiki和new example页面上的示例,但找不到实现这一点的任何示例(所有内容似乎都是从文件中读取标记,从数据库中读取变量) 请让我知道,如果我在我的问题不清楚,我会很高兴地修改它相应 -- 编辑 一些澄清: 是的,我有常规的剃须刀页面要加载。 是的,我得到了要加载的文件的常规降价Markdown 如何在Razor视图中呈现数据库中的标记文本?,markdown,servicestack,Markdown,servicestack,因此,我正在处理自己的自定义路由映射(而不是让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内置不适合?)。您已经尝试了什么,问题是从哪里开始的?