1

C# ASP.net で GIS Web アプリ (マッピング) を開発しています。

テーブル付きの複数のTabPanelを収容するAjax TabContainerがあります。テーブルには、マップ ウィンドウ、スケール バーなどの他のコンテンツが含まれています (すべて ESRI WebAdf ツールキットから)。

これは、他のコンテンツのない私のテーブルのスリム化されたバージョンです...

<table id="MainTable>

<tr>
<td>
   <ajax:TabContainer runat="server" ActiveTabIndex="0" id="TabContainer"  CssClass="ajax__tab_xp">  

    <ajax:TabPanel runat="server" HeaderText="Online Mapping Service" ID="TabPanel1">

</ajax:TabPanel>

<ajax:TabPanel ID="TabPanel2" runat="server" HeaderText="Postcode">


    </ajax:TabPanel>

    <ajax:TabPanel ID="TabPanel3" runat="server" HeaderText="Coordinates">
        <ContentTemplate>                                      



  </ajax:TabPanel>

   </ajax:TabContainer> 

  </td>
  </tr>

  </table>

実行時のポストバックで、Tabcontainer が消えることがあります。この問題はブラウザ固有のものではありません。

これまでのところ、私は成功していません...

  1. TabContainer の相対位置で Z-Index を設定します
  2. TabContainerを「表示」するためのJQueryスクリプトを含めます...

        <script type="text/javascript" language="javascript">
    
        $(document).ready(function() {
        $("#TabContainer").show();
    
        });
    
       </script>
    

次の行に沿ってコード ビハインドに含めることができる C# はありますか?...

Public void page_Load(object sender, EventArgs e)
{
   TabContainer.show()
}

プログラミングにかなり慣れていないため、TabContainer を「常に表示」または「常に上に表示」する方法を理解しようとしています。

ありがとう

4

2 に答える 2

0

これが、ここに投稿する前にコードをクリーンアップしたためかどうかはわかりませんが、タグがありません。

aspx のコードは次のようになります。

<AjaxToolkit:TabContainer ID="TabContainer" runat="server">
    <AjaxToolkit:TabPanel ID="TabPanel1" runat="server">
        <ContentTemplate>
            Your asp/html code goes here
        </ContentTemplate>
    </AjaxToolkit:TabPanel>
 </AjaxToolkit:TabContainer>
于 2013-01-29T14:13:04.330 に答える
0

わかりました、これを並べ替えました。AJAX Toolkit がクライアント側をポストバックしないという問題がありました...

<script language="javascript" type="text/javascript">

        // Solution to sys.invalidoperationexception bug
        Sys.Application.initialize = function Sys$_Application$initialize() {
            if (!this._initialized && !this._initializing) {
                this._initializing = true;
                var loadMethodSet = false;
                var initializeDelegate = Function.createDelegate(this, this._doInitialize);
                if (document.addEventListener) {
                    loadMethodSet = true;
                    document.addEventListener("DOMContentLoaded", initializeDelegate, false);
                }
                if (/WebKit/i.test(navigator.userAgent)) {
                    loadMethodSet = true;
                    this._load_timer = setInterval(function() {
                        if (/loaded|complete/.test(document.readyState)) {
                            initializeDelegate();
                        }
                    }, 10);
                }
                else {
                    /*@cc_on@*/
                    /*@if (@_win32)
                    loadMethodSet = true;
                    document.write("<script id=__ie_onload defer src=BLOCKED SCRIPTvoid(0)><\/scr" + "ipt>");
                    var deferScript = document.getElementById("__ie_onload");
                    if (deferScript) {
                        deferScript.onreadystatechange = function() {
                            if (this.readyState == "complete") {
                                initializeDelegate();
                            }
                        };
                    }
                    /*@end@*/
                }

                // only if no other method will execute initializeDelegate is
                // it wired to the window's load method.
                if (!loadMethodSet) {
                    $addHandler(window, "load", initializeDelegate);
                }
            }
        }
        Sys.Application._doInitialize = function Sys$_Application$_doInitialize() {
            if (this._load_timer !== null) {
                clearInterval(this._load_timer);
                this._load_timer = null;
            }

            Sys._Application.callBaseMethod(this, 'initialize');

            var handler = this.get_events().getHandler("init");
            if (handler) {
                this.beginCreateComponents();
                handler(this, Sys.EventArgs.Empty);
                this.endCreateComponents();
            }
            this.raiseLoad();
            this._initializing = false;
        }

        Sys.Application._loadHandler = function Sys$_Application$_loadHandler() {
            if (this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load",
                  this._loadHandlerDelegate);
                this._loadHandlerDelegate = null;
            }
            this._initializing = true;
            this._doInitialize();
        }         

</script>
于 2013-02-06T15:17:09.700 に答える