保存方法の変数ユーザのセッションページあたりの
-
10-12-2019 - |
質問
を使用してい三webparts.Webpart Aを作成した値が、ユーザーがクリックのボタンWebpart A.WebPart Bは、この値を使用してリストを作成する商品をユーザに選択できます。WebPart C用の両方の値を文字列のための試験。
WebPart億このリストを充填dropdownbox.きのselectedvalue変更で更新WebPart C.この宣言について調査を進めている。
_documentTypeList = new DropDownList();
_documentTypeList.AutoPostBack = true;
this.Controls.Add(_documentTypeList);
ここでの問題は、利用
_documentTypeList.AutoPostBack = true;
バの完全ページをリセットの値WebPartをnullになります。どうやって送WebPart Bの新たな価値をWebPart Cを損なうことなく価値のWebPart。このすべてが1ページです。
解決
保存セッションの状態variblesる:
public string Name
{
get
{
return Page.Session["SaveName"] as string;
}
set
{
Page.Session["SaveName"] = value;
}
}
このgetter/setterを保存/取得すからセッションの状態
この
この値からセッションの状態(必要にonPreRenderイベントへの参照セッションの状態varibles)
txtName.Text = Name;
このセットにセッション状態のとき、どこでもしないで保存するセッションの状態)
Name = txtName.Text;
int valuse:
変更 public string Name
へ public int Name
もこれと同じものようにbool値パークがあります。
このようになりますのためにint:
public int Name
{
get
{
return Page.Session["SaveName"] as int;
}
set
{
Page.Session["SaveName"] = value;
}
}
や服のためのデータを渡すとwebpart使用iInterface方法
提供(webpart送信データの消費者(webpartを使用するデータやインターフェース間の接続webparts:
上記を100%仕事を保存する価値観を可:)
直列に必要なこと;)iv掲載のリンクに接続します。
接続可能WebPart問題......................?
や
希望します:)
他のヒント
if (!Page.IsPostBack) { your code here }
を試しましたか?
あなたはあなたの目的のためのカスタムWebパーツ接続を作成しようとしましたか?あなたの要求を経験するかもしれませんそれが最も適切なオプションかもしれません
以前は、次の順序で接続されているWebパーツ。
WebPart A => WebPart B
WebPart B => WebPart C
WebPart A => WebPart C
.
WebPart Bの値を変更したときにWebPart Cの両方の値を呼び出した場合、WebPart Bの値が変更されたときにエラーが発生しました.WebPart Bの値が変更されたときはいつでも、WebPart Aをリロードする必要がありました。ユーザーの操作で作成され、ページ上ではなく、値が失われました。 WebPart BとWebPart CがWebPart Aの価値なしで機能するように促した。上記のようにWebPart接続を維持したい場合は、ほとんどの尖向の答えを確認してください。
私の場合WebPart Aは一意のログイントークンを作成します。私はそれをウェブパートに保つことを好むでしょう。そうするために私はそれらの間の接続を変更しました。その代わりに、接続を上回っています。
WebPart A => WebPart B => WebPart C
.
WebPart B WebPart Aの値を保存し、それをWebPart Cに自分の値と一緒に提供します。これは、WebParts Bインターフェイスが現在のように見える方法です。
public interface IWebPartB
{
string webPartAValue { get; }
string webPartBValue { get; }
}
.