Jus*_*inN 5 markdown servicestack
所以我正在处理我自己的自定义路由映射(而不是让 ServiceStack 自动处理它),只是因为我的所有数据、页面内容等都存储在数据库内。我有一系列 _Layout.cshtml 文件,我的 Markdown 存储为字符串。
所以我想我在问,我需要为映射的路线继承什么类型的服务(常规服务?),以及我需要返回什么状态“在字符串 Y 中使用布局 X 和 Markdown”?
我已经阅读了 ServiceStack Wiki 和新示例页面上的示例,但无法找到任何实现此目的的示例(一切似乎都是从文件中读取 Markdown,而 Razor 从数据库中读取变量)。
如果我的问题不清楚,请告诉我,我很乐意进行相应修改。
--
一些澄清:
是的,我可以加载常规 Razor 页面。是的,我从要加载的文件中获取了常规 Markdown。
我现在只是好奇如何将 Markdown 渲染到 Razor 方法“RenderBody()”中,该方法位于字符串中(来自我的数据库)。
如果您只想将Markdown 文本渲染为 HTML(不是 Markdown Razor,即没有剃刀功能!),您需要执行以下两个步骤:
var renderer = new MarkdownSharp.Markdown();
string html = renderer.Transform("___your_markdown_markup_here___");
Run Code Online (Sandbox Code Playgroud)
现在,您只需将渲染的 HTML 添加到 Razor 视图中的适当位置即可。
但是,如果您的目标是在 Razor 视图中渲染普通的Markdown 视图(即.mdServiceStack 项目中的文件),则需要遵循以下引用:
在 Razor 页面中包含部分 Markdown 视图
我们非常喜欢 Markdown 和 Razor,因此 ServiceStack 中包含了 Markdown 的增强版本,具有 Razor 功能和语法,称为 Markdown Razor,现有 Razor 用户应该立即熟悉它。
正如我们预计 Razor + Markdown 成为越来越流行的组合,我们扩展了 @Html.Partial() 支持,以嵌入来自不同视图引擎的 Partials。此功能允许您嵌入任何 Markdown 页面,就像我们使用标准 Razor Partial 语法在每个内容丰富的 Rockstar 页面中所做的那样:
Run Code Online (Sandbox Code Playgroud)@Html.Partial("Content")它告诉 ServiceStack 在该位置的页面内嵌入一个名为 Content 的 Partial 。首先,如果到达 Markdown Razor 视图引擎,它将查找名为 Content.cshtml 的 Partial,然后查找名为 Content.md 的 Partial。最初,它搜索当前目录,然后搜索 /Views/Shared 文件夹中任何匹配的部分。
引用自http://razor.servicestack.net。
| 归档时间: |
|
| 查看次数: |
2941 次 |
| 最近记录: |