从c#代码中了解什么是活动的Jquery选项卡索引

本文关键字:Jquery 选项 索引 活动 代码 了解 什么 | 更新日期: 2023-09-27 17:50:23

我在两个独立的Jquery选项卡面板上有两个aspx按钮。我想从背后的c#代码获得活动Jquery选项卡的索引,以便该选项卡内的按钮变得不可见。任何帮助都将不胜感激。ASP:

    <asp:HiddenField ID="hiddenFGetActiveTab" runat="server"/>
            <button ID="btnGetActiveTab"></button>
            <div id="tabs">
            <ul>        
            <li><a href="#tabs-1"></a></li>        
            <li><a href="#tabs-2"></a></li>
            </ul>
            <div id="tabs-1" style="border: 1px solid #E5E5E5;">
            <asp:UpdatePanel ID="updatePanelSearchCustomer" runat="server" UpdateMode="Conditional">
            <contentTemplate>
            <asp:Button ID="btnCustSearch" runat="server" Text="Search" ToolTip="Click to Search" OnClick="btnCustSearch_Click" />
            <asp:Button ID="btnAddCustomer" runat="server" Text="Add New" CommandName="insert" Visible="True" ToolTip="Add to Workbasket" OnClick="addToWorkBasket_Click" />
            <asp:GridView ID="gridCustSearch" OnRowCreated="gridCustLicSearch_RowCreated runat="server"></asp:GridView>
            </ContentTemplate>
            </asp:UpdatePanel>                 
            </div>
            <div id="tabs-2" style="border: 1px solid #E5E5E5;">
            <asp:Button ID="btnSearchLicense" runat="server" Text="Search" ToolTip="Click to Search" />
            <asp:Button ID="btnAddLicense" runat="server" Text="Add to Workbasket" Visible="False" ToolTip="Add to Workbasket" OnClick="btnAddLicense_Click" />
            <asp:UpdatePanel ID="updatePanelLicenseSearchFields" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
            <asp:GridView ID="gridLicSearch" runat="server" OnRowCreated="gridCustLicSearch_RowCreated"></asp:GridView>
            </ContentTemplate>
            </asp:UpdatePanel>
            </div>
            </div>
JQUERY:

                <link href="../css/jquery-ui-1.9.2.custom.css" rel="stylesheet" />
            <script src="../js/jquery-1.8.3.js"></script>
            <script src="../js/reflection.js"></script>
            <script src="../js/jquery-ui-1.9.2.custom.js"></script>
            <script type="text/javascript">

            $(document).ready(function () {

            $(function () {
            $("#tabs").tabs({ event: "click" });
            });
            $('#btnGetActiveTab').click(function (event) {
            event.preventDefault();
            varTab = $("#tabs").tabs("option", "selected");
            document.getElementById("<%= hiddenFGetActiveTab.ClientID %>").value = varTab;
            //$("#hiddenFGetActiveTab").val(varTab);
            //alert(varTab);
            alert(document.getElementById("<%= hiddenFGetActiveTab.ClientID %>").value);
            });
            function tabChanged(tabIndex) {
            varTab = $("#tabs").tabs("option", "selected");
            $("#hiddenFGetActiveTab").val(varTab);
            alert(document.getElementById("<%= hiddenFGetActiveTab.ClientID %>").value);
            }
            });

c#代码后面:

                protected void gridCustLicSearch_RowCreated(object sender, GridViewRowEventArgs e)
            if (activeTabIndex == Tab-1)
            {
            //Make First button visible
            //do other stuff

            }
            else if (activeTab == Tab-2)
            {   
            //Make Second button visible
            //do other stuff
            }

从c#代码中了解什么是活动的Jquery选项卡索引

在没有看到任何代码的情况下,我建议使用<asp:HiddenField
无论何时更改选项卡,将隐藏字段设置为当前选项卡的索引。

然后,在代码后面,你可以看到哪个选项卡是当前选中的,并启用/禁用的东西,你希望…

短例子:
在您的aspx页面添加以下内容:

<asp:HiddenField ID="hdnField" runat="server" />

当你改变选项卡时(在Javascript中):

function tabChanged(tabIndex)
{
    $("#hdnField").val(tabIndex);
}
在后台代码:

if (hdnField.Value == "1")
   ....

我想这可能会有帮助http://api.jqueryui.com/tabs/event-activate

如果你可以处理选项卡激活事件,你可以设置一个隐藏字段的状态,或者使一个Ajax调用服务器发送数据到服务器会话。

另一种方法可能是,当你发表文章时,检查Active选项http://api.jqueryui.com/tabs/#option-active为发布的数据添加索引。

ui.newTab.index()会有效果。

请检查标签索引并相应地设置按钮的可见性。

例如,

document.getElementById('<%=Button1.ClientID%>').style.display = 'block'