webparts変数に問題があります...私は標準のASP言語から来ていますので、セッション変数やその他の部分に変数を格納するのは一般的な方法です=)Sharepoint 2007リロード時のWebpart変数の問題
私はwebpartを作成しなければなりませんでした.WPはパラメータからグラフを書く必要があり、HOW変数の動作を理解できません:保存されたWHENと消去されたWHENなどのことを理解できません。
説明しておきたいのは、右に値を置く設定ツールバーのあるWebパーツがあります。ボタンを押すたびに、またはドロップダウンリストの値が変わるたびに、 CreateChild "関数..
何度もデータは「保存」され、それ以外の時間は保存されません!
私は(ApplyChangesオーバーライド機能で)店舗値に使用方法です:
WPChartGenerator wpParent = (WPChartGenerator)this.ParentToolPane.SelectedWebPart;
wpParent.WebUrl = txtWebUrl.Text.Trim();
そしてCreateChildイベントで私の好きな値を取得する:
今WPChartGenerator wpParent = (WPChartGenerator)this.ParentToolPane.SelectedWebPart;
this.ddlWeb = new DropDownList();
this.ddlWeb.ID = "ddlweb" + wpParent.ID;
ddlWeb.SelectedValue = wpParent.WebService;
..時には、このたとえば、私はボタンのコードで呼び出すと、すべての値を格納するコードを呼び出すボタンを押したときに動作します。(ボタンのような)場合によっては、これがうまくいきます(ドロップダウンリストのインデックス変更イベントなど)私はそれが初期値と等しいwpParentのすべてのオブジェクトを見つけました。
私が気づいたもう一つは、イベントがトリガされ、特定の場合には、まず最初に、ILのCreateChild(イベントに関連付けられたコードよりも、最初に)実行することである(読み込み時よりもさらに最初!!!)
誰か私が間違ったやり方でやっていることを教えてもらえますか?誰もこの問題のために良いtutoriaを持っていますか?
おかげ&申し訳ありません4私の学校レベルの英語力=)
は、すべての変数は、そのように、プロパティとして実装されていると言うことを忘れ:
[WebBrowsable(false)]
[Personalizable(PersonalizationScope.Shared)]
[WebPartStorage(Storage.Shared)]
public string WebUrl
{
get
{
return this.webUrl;
}
set
{
this.webUrl = value;
}
}
私は答えを怒らせるという意味ではありませんが、あなたが理解するのに取る必要がある最初のステップをスキップすると、このすべての結びつきが一緒に後でトラブルにつながりますか。 – Ryan
私は多くのチュートリアルを読んだ...私は書いたコードのわずか1%を投稿した。私の問題は、プロパティが管理されていた方法を理解することです:私はボタンを押したときに変数が保持されるかもしれませんが、リストがスクロールされ、データが失われてリセットされるたびにイベントが生成されます。 私は実際に私の変数を格納する要素があるかどうか知りたいのですが、私はそれを公開したメソッドが期待通りに機能しないためです。 –
状態は通常aspによって保持されます。ページの読み込み間にVIEWSTATEのネットWebコントロールが作成され、コードによってApplyChangesのWebパーツプロパティに保持されます。非常に奇妙なことをしない限り、viewstateについて心配する必要はありません - それは自動的に動作します。 "CreateChild(OnLoad !!!よりも最初のもの)"についてのあなたのコメントは、どのように動作するのでしょうか?コントロールが作成される前に、コントロールでloadイベントを発行することはできません。 http://msdn.microsoft.com/en-us/library/ms178472.aspx – Ryan