如何以编程方式将LinkItem添加到LinkItemCollection

时间:2014-09-16 13:23:34

标签: episerver

我知道这个问题听起来很简单,但实际上却很棘手。

我们有一个页面(CoursePage)在运行时设置其属性之前首先克隆。

PageData clone = existingCoursePage.CreateWritableClone();
coursePage = (CoursePage)clone;

// set properties....
// RelevantCourseInformationCollection is a LinkItemCollection

coursePage.RelevantCourseInformationCollection.Add(new LinkItem { Href = "google.com", Text = "Google" });

我得到一个null LinkItemCollection。

1 个答案:

答案 0 :(得分:3)

您的现有页面似乎当前在RelevantCourseInformationColletion中没有任何项目。如果是这种情况,该属性将为null,您必须在尝试添加任何LinkItem之前为其分配新的LinkItemCollection实例。

coursePage.RelevantCourseInformationCollection = new LinkItemCollection();
coursePage.RelevantCourseInformationCollection.Add(new LinkItem { Href = "google.com", Text = "Google" });

或者如果您更喜欢速记:

coursePage.RelevantCourseInformationCollection = new LinkItemColletion { { new LinkItem { Href = "google.com", Text = "Google" } } };