私はServiceStackを使用してMarkdownをレンダリングしていますが、プログラムでそれを実行しています。基本的に私のコードは次のようになります:
//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ページを持っています:
//_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コードを機能させたいのですが、入手可能なドキュメントからはうまくいきませんでした。問題は私の構文ですか?コードを別のファイルにダンプし、それを別のファイルにコンパイルしてから、@ SwapVariablesを実行するのと同じ方法で、その結果をマークダウンページに挿入する必要がありますか?
どんな助けでも大歓迎です、そして、あなたが質問をするならば、尋ねてください。