Как справиться
-
16-10-2019 - |
Вопрос
У меня есть пользовательская веб -часть, которая была определена с такими свойствами
[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.