Вопрос

У меня есть пользовательская веб -часть, которая была определена с такими свойствами

[Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Chart Type"), Category("Chart - Required")]
[InitializationParameterName("ySeriesType")]
public DataSeries1 YSeriesType { get; set; }

который был развернут. Затем я изменил это на:

[Personalizable(PersonalizationScope.Shared), WebBrowsable(true), WebDisplayName("Chart Type"), Category("Chart - Required")]
[InitializationParameterName("ySeriesType")]
public YSeriesType YSeriesType { get; set; }

Это изменение в настоящее время вызывает ошибку, предполагающую, что DataSeries1 не обнаружена. Как я могу справиться с обновлением для этого сценария? Fwiw, следующее IVersioningPersonalizable Кажется, не сработало:

void IVersioningPersonalizable.Load(IDictionary unknownProperties)
{
    if (unknownProperties == null)
        return;

    _dirty = true;

    foreach (DictionaryEntry entry in unknownProperties)
    {
        switch (Convert.ToString(entry.Key))
        {
            case "YSeriesType":
                this.YSeriesType = (YSeriesType)Enum.Parse(typeof(YSeriesType), Convert.ToString(entry.Value));
                break;
        }
    }
}

protected override void OnInit(EventArgs e)
{
    if (_dirty && null != base.WebPartManager)
    {
        SetPersonalizationDirty();
        _dirty = false;
    }
}

Спасибо!

Это было полезно?

Решение

Ваш Ibersioningpersonalizeable Code выглядит правильно, но я думаю, что SharePoint определяет неизвестные свойства по их имени, и если собственность не была переименована - это не будет неизвестно ...

Итак, не могли бы вы переименовать свойство yseriestype и попытаться снова выполнить обновление?

Другие советы

Сообщение об ошибке относится к набору наборов класса1, который используется существующей веб -частью. Итак, я предполагаю, что вы удалили (или переименовали) этот класс.

После выполнения кода, который обновляет значения свойства, вы можете безопасно удалить свой класс DateSeries1.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top