私は現在、次のように、javascriptを介して、選択したばかりのタブの値が割り当てられている非表示の入力フィールドを使用しています。
function onTabSelecting(sender, args) {
var tab = args.get_tab(); //get selected tab
document.getElementById("MainContent_hdnPreviousTab").value = tab.get_text(); //assign value to hidden field
if (tab.get_pageViewID()) { //ignore
tab.set_postBack(false);
}
}
次に、クライアント側(ajax)のPageLoad()イベントで、ページが返されるときにこの割り当てられた値を使用します。
<script type="text/javascript" language="javascript">
var runOnce = false;
function pageLoad() {
if (!runOnce) {
var lastTab = document.getElementById("<%= hdnPreviousTab.ClientID %>");
if (lastTab.value) {
if (tabStrip) {
var tab = tabStrip.findTabByText(lastTab.value);
if (tab) {
tab.click();
}
}
}
runOnce = true;
}
}
</script>
現在IEではこれは正常に機能します(私は正しいですか?)、以前にjavascriptで設定された値はまだそこにあり、ユーザーがページを離れたタブをlcoateすることができます。しかし、FF、Chromeなどではそのような運はありません。ビューステートを使用しているかどうかに関係なく、非表示フィールドは空の状態(value = "")に戻ります。
この状況で適切な代替方法を誰かが持っているかどうかについて非常に興味があります。不明な点がある場合はお知らせください。
どうもありがとう。