2
두 개의 탭이있는 tabcontainer가 있습니다. 첫 번째 탭에는 텍스트 상자가 있고 두 번째 탭에는 패널이 있습니다.tabcontainer에서 tabpanel 사용
첫 번째 페이지로드시 두 번째 탭을 사용하지 않도록 설정하고 사용자가 tab1의 입력란에 입력을 입력하자마자 사용할 수있게하려고합니다. tab1의 텍스트 상자를 다시 비우면 두 번째 탭을 다시 비활성화해야합니다.
다음 코드를 시도했지만 두 번째 탭은 무엇이든지 비활성화되어 있습니다. 도움이 될 것입니다. 고맙습니다!
영문
<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="4" HeaderText=""
Height="578px" Width="900px" TabStripPlacement="Top" ScrollBars="None" UseVerticalStripPlacement="false"
VerticalStripWidth="120px" BackColor="White" BorderColor="White" Style="margin-right: 84px">
<asp:TabPanel ID="TabPanel1" runat="server">
<HeaderTemplate>
General
</HeaderTemplate>
<ContentTemplate>
<asp:UpdatePanel ID="TestUpdatePanel" runat="server">
<ContentTemplate>
<table style="height: 247px; width: 100%;">
<tr>
<td>
<asp:TextBox ID="HorizonTextBox" runat="server" OnTextChanged="HorizonTextBox_TextChanged"
AutoPostBack="True"></asp:TextBox>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<ContentTemplate>
</asp:TabPanel>
<asp:TabPanel ID="TabPanel2" runat="server">
<HeaderTemplate>
Dashboard
</HeaderTemplate>
<ContentTemplate>
<asp:Button ID="RunSimulationButton" runat="server" Text="Run Simulation" OnClick="RunSimulationButton_OnClick" />
<br />
<br />
<asp:Panel ID="PlotPanel" runat="server">
</asp:Panel>
</ContentTemplate>
</asp:TabPanel>
aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TabContainer1.ActiveTabIndex = 0;
TabPanel2.Enabled = false;
}
}
protected void HorizonTextBox_TextChanged(object sender, EventArgs e)
{
if(HorizonTextBox.Text != "")
{
TabPanel2.Enabled = true;
}
}
당신이 할 수있다 제어 패널 전체를 활성화/비활성화 할 수 있도록 업데이트 패널에 전체 탭 컨테이너를 포함해야합니다. – rt2800
나는 그것을 시도하고, 여전히 작동하지 않았다 ... 내가 제대로하지 않는 한. 제안 사항에 대한 코드 스냅 샷을 제공해 주시겠습니까? 고맙습니다! – Mayou
죄송합니다. 이전에 댓글을 다시 작성합니다! 그것은 작동! 정말 고맙습니다! – Mayou