ElasticObject(http://elasticobject.codeplex.com/)を使用して動的オブジェクトを作成し、テンプレートを置き換えるためにRazorEngineにフィードします。
ElasticObjectが動的オブジェクトに変換するXMLの構造は次のとおりです。
<Book ChapterID="1123" ChapterName="Test Chapter" BookName="Sample Book" SectionName="Test Section">
<StaffContact>
<Contact FirstName="Jane" LastName="Doe" EmailAddress="janedoe@domain.com" />
<Contact FirstName="John" LastName="Doe" EmailAddress="johndoe@domain.com" />
</StaffContact>
</Book>
Contact.UserFirstNameなどのデータにアクセスする方法を理解しようとしています
XmlNode BookNode = xmlLookupDoc.SelectSingleNode("/Book");
var elBook = XElement.Parse(BookNode.OuterXml).ToElastic();
//I build the Model object here - this is a simplified version of what I'm using
var razorViewModel = new { Book = elBook };
以下を使用して、Bookノードの属性にうまくアクセスできます。
@Model.Book.ChapterName
RazorEngineを使用してモデルを反復処理する方法がわかりません。
私は次のことを試しました:
@foreach (var item in Model.StaffContact.Contact)
{
@item.model.UserFirstName @item.model.UserLastName at @item.model.UserEmailAddress
}
あなたが与えることができるどんな助けでも大いに感謝されるでしょう。