我正在使用ServiceStack來呈現我的Markdown,但是我正在以編程方式進行我之後的操作。基本上我的代碼如下所示:如何在ServiceStack Markdown中將foreach迭代器添加到MarkdownPage?
//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);
,我有一個降價頁是這樣的:
//_Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<title><[email protected]></title>
</head>
<body>
<div>
@foreach var item in ArrayData {
- @item
}
</div>
<div><[email protected]></div>
</body>
</html>
的@Body標籤中填寫完全如預期一樣,該@PageTitle標籤。我現在希望能夠使@foreach代碼正常工作,並從可用的文檔中找不到。問題是我的語法嗎?我是否需要將代碼轉儲到單獨的文件中,然後單獨進行編譯,然後將其結果注入到我的減價頁面中,就像我正在執行@SwapVariables一樣?
任何和所有的幫助將不勝感激,如果您有任何問題,請不要問。
一旦我在辦公室完成,我會放棄它。我認爲你是對的,但我混淆了術語...我想要標準頁面內容(當前存儲爲* .md在數據庫中),即時轉換並注入到[at] Body替換標記中),並且我想要一個foreach迭代器,它將幫助我在單獨的物理* .md文件中提取頁面組件(如NavBar,Twitter feed等),並將結果注入到替換[at] Tag中。我一直試圖在一個地方做所有事情。 – JustinN
正如你所建議的那樣,我有點困惑,這讓我的研究對答案有點困難。我已經看到了獨立鏈接,我的代碼基於它,另一個SS鏈接非常有用!我現在不僅可以讓代碼更好地工作,而且還可以將它分成多個接口,這使得我的NUnit測試更易於編寫。再次感謝! – JustinN