Вопрос по asp.net – AjaxToolkit: последний TabContainer на странице ориентирован на загрузку страницы

6

Я использую более одного TabContainer на странице в проекте ASP.NET, и я заметил действительно странное поведение: при загрузке страницы фокус переходит к последнему TabContainer на странице, вызывая его прокрутку вниз. Я явно не фокусируюсь на каком-либо контроле, поэтому не понимаю, откуда это происходит. Я также поменялся местами между элементами управления, и это всегда последний, который фокусируется. TabContainers не имеют каких-либо необычных настроек, вот как они выглядят:

<cc1:TabContainer ID="tabContainer" runat="server">
    <cc1:TabPanel runat="server" HeaderText="Header1" ID="tabPanel1" TabIndex="0">
        <HeaderTemplate>
            <asp:Label ID="lblTab1" runat="server" Text="Tab1"></asp:Label>
        </HeaderTemplate>
        <ContentTemplate>
            ... (anything goes here, it still doesn't work)
        </ContentTemplate>
    </cc1:TabPanel>
    <cc1:TabPanel runat="server" HeaderText="Header2" ID="tabPanel2" TabIndex="1">
        <HeaderTemplate>
            <asp:Label ID="lblTab2" EnableViewState="False" runat="server" Text="Tab2"></asp:Label>
        </HeaderTemplate>
        <ContentTemplate>
            ... (anything goes here, it still doesn't work)
        </ContentTemplate>
    </cc1:TabPanel>
</cc1:TabContainer>

Я знаю, что могу установить фокус на элементе управления, я попробовал это сделать, но страница сначала прокручивается до контейнера вкладок, а затем возвращается к элементу управления с фокусом (он не выглядит хорошо). Я попытался это установить фокус на другой элемент управления:

<body id="main" onload="javascript:document.getElementById('lnkLogout').focus();">

Это стандартное поведение для TabContainer? Как я могу избавиться от этого?

Error: User Rate Limit Exceeded Emre

Ваш Ответ

5   ответов
0

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

<asp:toolkitscriptmanager ID="ScriptManager1" runat="server">
          </asp:toolkitscriptmanager>

Error: User Rate Limit Exceeded

<asp:tab,container runat="server" ID="tc1" ActiveTabIndex="0" > 

<asp:TabPanel runat="server" ID="TB1" Height="250" >
<asp:TabPanel runat="server" ID="TB1" Height="250" >
<asp:TabPanel runat="server" ID="TB1" Height="250" >

Error: User Rate Limit Exceeded

 ActiveTabIndex="0"

Error: User Rate Limit Exceeded

tc1.ActiveTabIndex = 2 'code behind

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

7

Error: User Rate Limit ExceededScriptManagerError: User Rate Limit Exceeded

<script type="text/javascript">
    Sys.Extended.UI.TabContainer.prototype._app_onload = function (sender, e) {
        if (this._cachedActiveTabIndex != -1) {
            this.set_activeTabIndex(this._cachedActiveTabIndex);
            this._cachedActiveTabIndex = -1;

            var activeTab = this.get_tabs()[this._activeTabIndex];
            if (activeTab) {
                activeTab._wasLoaded = true;
                //activeTab._setFocus(activeTab); -- disable focus on active tab in the last TabContainer
            }
        }
        this._loaded = true;
    }
</script>
Error: User Rate Limit Exceeded Ioana Marcu
Error: User Rate Limit Exceeded
0

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

PageUtility.SetFocus(foo);

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Ioana Marcu
Error: User Rate Limit Exceeded Ioana Marcu
0

Error: User Rate Limit Exceeded

window.Sys.Application.findComponent('<%=tabContainer.ClientID %>');

tabContainer.set_activeTabIndex(1);  ( //Here set the id of the last tab that is the index of the last tab. Index will start with 0 upto last - 1 as in array.. )
Error: User Rate Limit Exceeded
0

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceededonload="scrollTo(0,0);"

Error: User Rate Limit Exceeded Ioana Marcu

Похожие вопросы