首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ServiceStack Markdown中将foreach迭代器添加到MarkdownPage?

如何在ServiceStack Markdown中将foreach迭代器添加到MarkdownPage?
EN

Stack Overflow用户
提问于 2013-01-17 06:35:24
回答 1查看 356关注 0票数 1

我正在使用ServiceStack来呈现我的Markdown,但是我正在为我想要的东西编程。基本上,我的代码如下所示:

代码语言:javascript
复制
//MarkdownRenderer.cs
var rootPath = HttpContext.Current.Server.MapPath("~/");
var format = new MarkdownFormat { VirtualPathProvider = new PathProvider() };
var pageTitle = "Test for StackOverflow";
var pageContent = "Foobar";
var page = new MarkdownPage(format, rootPath, pageTitle, pageContent)
{
    Template = "~/_Layout.cshtml"
};
format.AddPage(page);
var view = new Dictionary<string, object>
{
    {"PageTitle", pageTitle},
    {"ArrayData", new[]{"abc","def"}}
};
var html = format.RenderDynamicPageHtml(pageTitle, view);

我有一个像这样的Markdown页面:

代码语言:javascript
复制
//_Layout.cshtml
<!DOCTYPE html>
<html>
    <head>
        <title><!--@PageTitle--></title>
    </head>
    <body>
        <div>
        @foreach var item in ArrayData {
            - @item
        }
        </div>
        <div><!--@Body--></div>
    </body>
</html>

@Body标记和@PageTitle标记一样,都可以很好地填充。我现在希望能够让@foreach代码工作,但从可用的文档中我无法解决它。是我的语法出了问题吗?我是否需要将代码转储到一个单独的文件中,然后单独编译该文件,然后将其结果注入到我的markdown页面中,就像我处理@SwapVariables一样?

任何人和所有的帮助都将非常感谢,如果你有任何问题,请尽管问。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-17 21:10:54

您正在将ServiceStack's MVC Razor supportMarkdown Razor format混合在一起。也就是说,任何以.cshtml结尾的页面都是MVC Razor页面,而只有以.md结尾的页面才会被处理为Markdown Razor页面。

在Markdown Razor中,布局/模板页面通常被命名为default.shtml,并且只是一个支持替换可变占位符(例如<!--@Body--> )的静态超文本标记语言页面,只有以.md结尾的Markdown页面(即非HTML模板)才会被处理为Markdown Razor。

这里是一个Stand-alone Markdown Razor program的例子,而这里是一个stand-alone example using ServiceStack's MVC Razor support

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14369169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档