これはおそらく以前に何度も尋ねられましたが、AjaxControlToolKitTabContainerのActiveTabIndexを維持する方法を考えていました。
そのようなことを達成するために私が考えることができる唯一の方法は、ActiveTabIndexをセッションに保存し、ポストバックでこれをチェックすることです。この問題を解決する他の解決策はありますか?
これはおそらく以前に何度も尋ねられましたが、AjaxControlToolKitTabContainerのActiveTabIndexを維持する方法を考えていました。
そのようなことを達成するために私が考えることができる唯一の方法は、ActiveTabIndexをセッションに保存し、ポストバックでこれをチェックすることです。この問題を解決する他の解決策はありますか?
ほとんどの場合、これはあなたの質問に答えます。そのようなものは、まだそこに保存されていない場合、ページのViewStateに属します。
編集:一方、私はそれをテストしました、そして私のActiveTabIndexは(非同期の)ポストバックを維持します。
マラチ、これについてのセッションを台無しにする必要はありません。
これを「ActiveTabChanged」イベントハンドラーにドロップするだけです(C#を使用していると仮定します)。
int iTabIndex = int.Parse(Request.Params["__EVENTARGUMENT"].Split(':')[1]);
次に、「iTabIndex」の値に基づいて必要なロジックを実行します。
タブコンテナにActiveTabChangedイベントを追加する必要があり、アクティブなタブインデックスをビュー状態に保つことができます。ページの読み込み時に、nullでないかどうかを確認してから、アクティブなタブインデックスとして設定します。
protected void TabContainer1_ActiveTabChanged(object sender, EventArgs e)
{
ViewState["ActiveTabIndex"] = TabContainer1.ActiveTabIndex;
}
PageOnLoadイベントコード
if (!(ViewState["ActiveTabIndex"] == null) )
{
TabContainer1.ActiveTabIndex = (int)ViewState["ActiveTabIndex"];
}
TabContainerタグに次の属性を必ず追加してください
AutoPostBack="true" OnActiveTabChanged="TabContainer1_ActiveTabChanged"