ASP updatepanel не обновляет вкладку ajax
У меня есть 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>
С помощью кнопки "Добавить", которая находится внутри панели обновлений и которой назначен правильный асинхронный триггер.
Из C# codebehind я сделал цикл, чтобы проверить, если выпадающий список selectedvalue = panel_headertext, если это так, сделать его видимым CODE:
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;
}
}
}
}
Теперь это работает отлично, если триггер панели обновления установлен на fullPostback, но установлен асинхронный обратный вызов, тогда он работает только при первом щелчке, даже если событие срабатывает каждый раз, когда я нажимаю на кнопку. Я что-то упускаю здесь очевидное? Петар
1 ответ
У вас есть одинаковое значение в HeaderText для каждого из ваших TabPanels. Я думаю, что это будет работать, если вы исправите атрибуты HeaderText.