【问题标题】:Jquery Tab modified from code behind从后面的代码修改的 Jquery Tab
【发布时间】:2011-11-09 03:00:31
【问题描述】:

我想在后面的代码中修改jquery标签的文本标题,我还需要获取选中的标签号。有任何想法吗?我试图使用 HtmlGenericControl 来引用选项卡,但非常困难,因为它只是一个“div”并且不在服务器上运行。我正在使用 ASP.NET,C#。 非常感谢你们。

【问题讨论】:

    标签: jquery tabs code-behind


    【解决方案1】:

    亚当感谢您的回答和您的时间。 我找到了解决我的问题的方法。为了能够从后面的代码更改每个选项卡中的标题文本。我决定在选项卡的标题中使用标签。像这样:

    <div id="TabContainer">
    <ul>
       <li><a href="#tabCall" onclick= "TabChanged(0)"><asp:Label ID="LblCall" runat="server" Text="Call" ></asp:Label></a></li>
       <li><a href="#tabEvents" onclick= "TabChanged(1)"><asp:Label ID="LblEvents" runat="server" Text="Events"></asp:Label></a></li>
       <li><a href="#tabContract" onclick= "TabChanged(2)"><asp:Label ID="LblContract" runat="server" Text="Contract"></asp:Label></a></li>
       <li><a href="#tabAtt" onclick= "TabChanged(3)"><asp:Label ID="LblAtt" runat="server" Text="Attachments"></asp:Label></a></li>
       <li><a href="#tabHistory" onclick= "TabChanged(4)"><asp:Label ID="LblHistory" runat="server" Text="History"></asp:Label></a></li>
    </ul>
    

    在服务器端运行标签很容易更改标题文本。 现在,对于下一个问题:“如何在后面的代码中获取标签索引”,我在阅读的100页之间找到了一段代码,非常有帮助。我们需要一个隐藏字段来实现它:

    <script type="text/javascript">
            $(document).ready(function () {
    
            var currTab = $("#<%= currentTabIndex.ClientID %>").val()
            $("#TabContainer").tabs({ selected: currTab });
            });
    
            //--- save in variable the tabindex, needed for the code behind
            function TabChanged(tabNum) {
                $("#<%= currentTabIndex.ClientID %>").val(tabNum);
            }
    </script>
    
    <asp:HiddenField runat="server" ID="currentTabIndex" /> 
    

    此代码还在回发后将焦点设置在正确的选项卡中。后面代码中有tabindex的变量调用currentTabIndex.Value。 也许这不是解决这个问题的正确形式,但这是我发现的唯一一种。我希望有人也觉得它有用。

    【讨论】:

      【解决方案2】:

      你说“jQuery”,然后在同一个句子中说“code behind”。您需要了解,这些是完全不同的技术,根本不应该直接了解彼此。

      “代码隐藏”在服务器上运行,JavaScript 在客户端浏览器上运行。如果您想修改客户端页面上的活动选项卡,那就是 JavaScript。如果您想通知您的服务器此选项卡选择更改,则需要通过从您的 JavaScript 到您在服务器上创建的 Web 服务的 AJAX 调用来实现。

      简而言之,仅靠您的(邪恶的).NET 控件无法做到这一点。

      【讨论】:

        猜你喜欢
        • 2012-10-15
        • 1970-01-01
        • 1970-01-01
        • 2021-05-14
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多