Asp.net 在按钮单击中启用和禁用ajax选项卡容器中的选项卡

Asp.net 在按钮单击中启用和禁用ajax选项卡容器中的选项卡,asp.net,ajax,tabcontrol,tabcontainer,Asp.net,Ajax,Tabcontrol,Tabcontainer,我在asp.net应用程序中使用ajax选项卡容器,有两个选项卡1。第一个选项卡有gridview,2。第二个选项卡具有添加新项目表单。 单击“行”命令,我将获取第二个选项卡中的所有值,单击“编辑”,我将启用所有控件进行编辑。 在此期间,我想限制用户导航到第一个选项卡,直到他点击GotoGrid按钮。 如何实现这一点? 如果我使用 tab_name.enable=false 甚至所有的按钮和控件都会被禁用。 请帮忙 <asp:HiddenField runat="server" ID="d

我在asp.net应用程序中使用ajax选项卡容器,有两个选项卡1。第一个选项卡有gridview,2。第二个选项卡具有添加新项目表单。 单击“行”命令,我将获取第二个选项卡中的所有值,单击“编辑”,我将启用所有控件进行编辑。 在此期间,我想限制用户导航到第一个选项卡,直到他点击GotoGrid按钮。 如何实现这一点? 如果我使用

tab_name.enable=false

甚至所有的按钮和控件都会被禁用。 请帮忙

<asp:HiddenField runat="server" ID="disabledPaneIndex" />
<ajaxToolkit:Accordion runat="server" ID="Accordion1" >
     <Panes>
          <ajaxToolkit:AccordionPane runat="server" ID="Pane1" >
               <Header>
                    Pane 1
               </Header>
               <Content>
                    <asp:Button runat="server" ID="SwitchToPane2Button" Text="Go To Pane2" OnClick="SwitchToPane2Button_Click" />
               </Content>
          </ajaxToolkit:AccordionPane>
          <ajaxToolkit:AccordionPane runat="server" ID="Pane2">
               <Header>
                    Pane 2
               </Header>
               <Content>
                    <asp:Button runat="server" ID="SwitchBackButton" Text="Go Back" OnClick="SwitchBackButton_Click" />
               </Content>
          </ajaxToolkit:AccordionPane>
     </Panes>
</ajaxToolkit:Accordion>
JavaScript(放在
ScriptManager
控件的后面

function pageLoad() {
     var accordion = $find("<%= Accordion1.ClientID %>_AccordionExtender");
     accordion.remove_selectedIndexChanging(selectedIndexChanging);
     accordion.add_selectedIndexChanging(selectedIndexChanging);
}

function selectedIndexChanging(sender, args) {
     var disabledIndexValue = parseInt($get("<%= disabledPaneIndex.ClientID %>").value);
     if (!isNaN(disabledIndexValue) && args.get_selectedIndex() === disabledIndexValue) {
          args.set_cancel(true);
     }
}
函数pageLoad(){
var accordion=$find(“_accordioXtender”);
手风琴。移除\u selectedIndexChanging(selectedIndexChanging);
手风琴。添加\u selectedIndexChanging(selectedIndexChanging);
}
函数SelectedIndexChanged(发送方,参数){
var disabledIndexValue=parseInt($get(“”.value);
如果(!isNaN(disabledIndexValue)&&args.get\u selectedIndex()==disabledIndexValue){
参数设置\取消(真);
}
}

感谢您的回复,我还有一个疑问!我的容器名称是这样的…''如何获取?这只是一个前缀。您完全可以使用任何自定义前缀来注册自定义服务器控件。例如,您可以使用
immostcoolspnetdeveloper:Accordion
。只需在t中将
ajaxtoolkit
更改为
asp
他的特殊情况
function pageLoad() {
     var accordion = $find("<%= Accordion1.ClientID %>_AccordionExtender");
     accordion.remove_selectedIndexChanging(selectedIndexChanging);
     accordion.add_selectedIndexChanging(selectedIndexChanging);
}

function selectedIndexChanging(sender, args) {
     var disabledIndexValue = parseInt($get("<%= disabledPaneIndex.ClientID %>").value);
     if (!isNaN(disabledIndexValue) && args.get_selectedIndex() === disabledIndexValue) {
          args.set_cancel(true);
     }
}