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