Значения части инструмента Sharepoint не извлекаются
Я ищу, чтобы добавить пользовательские свойства для части инструмента. Я был в состоянии добавить текстовое поле по желанию. Я смог ввести значения и отобразить их в веб-части.
Проблема в том, что когда я редактирую веб-часть, появляется всплывающая панель, но добавленный элемент управления не заполняется ранее введенным значением. Увидеть ниже:
Я следовал инструкциям на этом сайте в точности так, как написано - ни я, ни более опытный сотрудник Sharepoint разработчик не могут понять, что здесь происходит.
Мы думали, что переопределение метода SyncChanges() позволит это сделать - кажется, нет, если наша реализация не верна?
public override void SyncChanges()
{
DemoWebPart wp = (DemoWebPart)this.ParentToolPane.SelectedWebPart;
urls.Text = wp.ListValue;
}
Мы также добавили в префикс свойство urls класса DemoWebPart.cs следующее, но безрезультатно:
[Browsable(true), Category("Miscellaneous"),
DefaultValue("Site Names"),
WebPartStorage(Storage.Shared / Personal / None),
FriendlyName("URLs"), Description("Text Property")]
(Попробовав Storage.Shared, Storage.Personal и Storage.None).
Любая помощь, которую вы можете оказать, будет принята с благодарностью - заранее спасибо!
3 ответа
Используйте только следующее, если персонализация Webpart включена в центральном администраторе:
Personalizable(PersonalizationScope.Shared)
Если это не так, полностью удалите атрибут Personalizable. Не вставляйте в него значение false или none, удалите этот атрибут и используйте это:
WebPartStorage(Storage.Shared)
Этот код я обычно использую для таких свойств:
[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
[System.ComponentModel.Category("Custom")]
[WebDisplayName("DisplayNameGoesHere")]
[WebDescription("Type the description of this web property here.")]
public string MyProperty{ get; set; }
У меня никогда не было проблем с этим.
Предложение:
- Создать новый WP
- и используйте эту статью http://snahta.blogspot.com/2009/11/webpart-custom-properties.html
Я использовал это 100 раз, пожалуйста, попробуйте, это будет работать.
Спасибо Сандип