簡體   English   中英

ASP UpdatePanel不刷新Ajax標簽頁

[英]ASP updatepanel doesn't refresh ajax tabpage

我在updatepanel中有一個ajax tabcontainer,所有標簽頁都設置為可見,直到您要根據下拉列表選擇的值CODE添加標簽頁:

<cc1:TabContainer ID="tabControlParameters" runat="server" CssClass="ajax__tab_xp"
                            ScrollBars="Both" ActiveTabIndex="15" UseVerticalStripPlacement="True">
                            <%--EnvironmentTab --%>
                            <cc1:TabPanel ID="pnlEnvironment" HeaderText="Environment" runat="server" Visible="false">
                                <ContentTemplate>
                                   //somecontent
                                </ContentTemplate>
                            </cc1:TabPanel>
                            <cc1:TabPanel ID="pnlDatabase" HeaderText="Environment" runat="server" Visible="false">
                                <ContentTemplate>
                                   //somecontent
                                </ContentTemplate>
                            </cc1:TabPanel>
                            <cc1:TabPanel ID="pnlFirstError" HeaderText="Environment" runat="server" Visible="false">
                                <ContentTemplate>
                                   //somecontent
                                </ContentTemplate>
                            </cc1:TabPanel>

通過在Updatepanel內部添加按鈕,並為其分配了正確的異步觸發器。

從C#代碼后面,我進行了一個循環,以檢查dropdownlist selectedvalue = panel_headertext,如果這樣,則使其可見代碼:

protected void btnAddParameters_Click(object sender, EventArgs e)
    {
        String Parameter = ddlParameterTypes.SelectedValue.ToString();
        AjaxControlToolkit.TabContainer container = (AjaxControlToolkit.TabContainer)tabControlParameters;

        foreach (object obj in container.Controls)
        {
            if (obj is AjaxControlToolkit.TabPanel)
            {
                AjaxControlToolkit.TabPanel tabPanel = (AjaxControlToolkit.TabPanel)obj;
                if (tabPanel.HeaderText == ddlParameterTypes.SelectedValue)
                {
                    tabPanel.Visible = true;
                    tabPanel = tabControlParameters.ActiveTab;
                    container.ActiveTab = tabPanel;

                }   
            }   
        }
    }

現在,如果將updatepanel觸發器設置為fullPostback,但將其設置為異步回發,則此方法將非常有效,即使每次單擊按鈕都會觸發該事件,它也僅在第一次單擊時有效。 我在這里錯過明顯的東西嗎? 佩塔爾

每個TabPanel的HeaderText值都相同。 我認為如果您更正HeaderText屬性,它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM