いくつかのプロパティを動的に設定できるWebPartをSharepoint用にプログラミングしました。この規範は、Webパーツ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は()」 - メソッドが呼び出されます。しかし、プログラムを停止してコードを再コンパイルするまで、Buttontextは更新されません。ウェブサイトのリロードでさえ助けにならない。
デバッグ時に「button.Text」が正しく割り当てられていることがわかります。
ヒント?
[編集]解答2へ おかげで、私はそれを次のように変更:
protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
SetValues(control);
Controls.Add(control);
}
ありがとうございます。それが正しい方向に向かうのを助けていました。 –