Я запрограммировал WebPart для Sharepoint, который позволяет динамически устанавливать некоторые свойства.
Код этого сайта следующий:
private void SetValues()
{
int counter = 0;
Control userControl = this.Controls[0];
for (int i=0; i<userControl.Controls.Count; i++) {
//foreach (Control element in userControl.Controls) {
Control element = userControl.Controls[i];
if (element is Button)
{
Button button = (Button)element;
if (counter < 9)
{
button.Text = _buttonCaptions[counter];
element = button;
}
counter++;
}
}
}
#endregion Properties
#region Methods
protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
Controls.Add(control);
SetValues();
}
Свойства отображаются в Sharepoint, и при редактировании этих значений вызывается метод «SetValues ()». Но Buttontexts не обновляются, пока я не остановлю программу и не перекомпилирую код. Даже перезагрузка сайта не помогает.
При отладке я вижу, что «button.Text» назначен правильно.
Любая подсказка?
[править]
Благодаря ответу 2 я изменил его следующим образом:
protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
SetValues(control);
Controls.Add(control);
}