0
我正在使用StringTemplate版本3.1.4.6002作爲MVC項目的視圖引擎。我似乎無法訪問傳遞給模板的對象,並將其呈現在網頁上。所以基本上,我在控制器中的以下內容(C#):無法在StringTemplate上正確訪問ViewDataDictionary對象
var layer1 = new { count = "1", label = "Description" };
var layer2 = new { count = "2", label = "Transcription" };
ViewData["layers"] = new object[] {layer1,layer2};
在視圖文件test.st,我有:
$layers:{
$it.count$
$it.label$
}$
模板不會在網頁上顯示任何內容,但如果我這樣做對test.st:
$layers$
它顯示的對象:
{ count=1, label=Description } { count=2, label=Transcription }
它看起來像我一個字符串。那麼我如何獨立訪問計數和標籤呢?我已經搜索了很多,似乎無法找到任何可以解決我的問題的東西。
順便說一下,我使用Visual Studio V10和.NET Framework Version4。在項目上,我參考了Antlr3.Runtime,Antlr3.Runtime.Debug和Antlr3.StringTemplate dll。另外,我在訪問簡單的字符串對象時沒有問題。我已使用here中的教程項目。如果需要,我可以提供更多細節。
非常感謝我指出了正確的方向。我將匿名類型layer1,layer2和layer3轉換爲具有內部訪問權限和公共字段的對象,現在我可以看到網頁上的值!順便說一下,我只是發現了StringTemplate,而且我真的很喜歡它的簡單性。我們在工作中一直在使用XSLT,並且我記得有一個很大的學習曲線。在我使用它時,我可能會在未來發布新的問題。保持了出色的工作! –
很好聽!謝謝! –