Sitefinity 14.4 MVC — список нескольких ссылок CTA с использованием автоматически созданного поля для представления дизайнера
При использовании автоматически созданных свойств виджета типа массива LinkModel в свойстве сложного объекта контроллера в виджетах MVC (обычно это модель виджета), свойства всегда имеют значение null. Другие простые типы, такие как строки или целые числа, сохраняются правильно. Автоматически созданный тип поля MVC «LinkModel», выбранный пользователем, не сохраняется в серверной части, если свойство является частью модели виджета.
Я использую Sitefinity 14.4 MVC. Мне нужно использовать автоматически сгенерированное поле, чтобы получить несколько ссылок CTA в представлении дизайнера. Я использую приведенный ниже код и могу получить список CTA в представлении дизайнера, но проблема в том, что я не могу получить список ссылок CTA. Я все время получаю нулевое значение, даже другие поля работают, например, «Выбор нескольких изображений», «Заголовок».
Я пробовал следующие строки кода.
Ниже код написан в файле контроллера.
[DisplayName("Headline")]
public string Headline { get; set; }
[DisplayName("Caption")]
public string Caption { get; set; }
[DisplayName("Select Hero Banner Images")]
[Content(Type = KnownContentTypes.Images)]
public MixedContentContext Images { get; set; }
[DisplayName("CTA Link List")]
[DataType(customDataType: "linkSelector")]
public LinkModel[] MultipleCTALinks { get; set; }
Ниже код написан в методе действия контроллера.
model.Headline = Headline ?? string.Empty;
model.Caption = Caption ?? string.Empty;
if (Images != null)
{
model.HeroImages = GetHeroImages(Images.ItemIdsOrdered);
}
if(MultipleCTALinks != null)
{
var temp = MultipleCTALinks.ToList();
}
Когда я пытаюсь прочитать значение MultipleCTALinks, он становится нулевым, но оставаясь, я могу его прочитать.