[英]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.