从后面的代码修改Jquery选项卡

时间:2011-09-02 11:50:23

标签: jquery tabs code-behind

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

2 个答案:

答案 0 :(得分:2)

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

<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。 也许这不是解决这个问题的正确形式,但却是我发现的唯一一个。我希望有人发现它也很有用。

答案 1 :(得分:1)

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

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

简单地说,单靠你的(邪恶).NET控件无法做到这一点。