6
我有一個內容區域將有一些塊,這些塊的某些屬性必須使用SQL查詢中的數據進行初始化,因此在控制器中我有類似這樣的內容:EpiServer - 以編程方式將塊添加到內容區域
foreach (ObjectType item in MyList)
{
BlockData currentObject = new BlockData
{
BlockDataProperty1 = item.ItemProperty1,
BlockDataProperty2 = item.ItemProperty2
};
/*Dont know what to do here*/
}
我需要的是將currentObject
作爲塊使用,並將其添加到我在另一個塊中定義的內容區域。我試着用
myContentArea.Add(currentObject)
但它說,因爲它期待一個IContent
類型,而不能添加對象爲內容的區域。
我該如何將該物體投射到IContent
?
感謝您的回答,它似乎是工作,但仍有問題,行 repo.Save(newBlock,SaveAction.Publish); 標記錯誤,說明保存的最佳重載包含一些無效參數,已嘗試 repo.Save(newBlock,SaveAction.Publish,AccessLevel.Administer); 以及IContentRepository.Save(repo,newBlock,saveAction.Publish) – rhernandez
是的,看起來像是同一個'IContent'投射問題。嘗試'repo.Save((IContent)newBlock,SaveAction.Publish);' – whyleee
它的工作!現在將數據顯示爲一個塊,可編輯屬性正常工作。 只是另一個問題(我不知道我是否打開另一個線程)塊正在被正確添加,但是當我去到父組件時,ContentArea看起來是空的,所以我檢查並意識到塊被添加到全局集合文件夾,我如何「告訴」組件在編輯模式下顯示到內容區域?我正在嘗試使用此解決方案http://joelabrahamsson.com/custom-rendering-of-content-areas/,但目前爲止還沒有爲我工作。 謝謝 – rhernandez