2011-09-02 52 views
0

我想修改後面代碼中的jquery選項卡的文本標題,並且我還需要獲取選定的選項卡號。有任何想法嗎?我試圖用HtmlGenericControl來引用選項卡,但是非常困難,因爲它只是一個「div」,並​​且不會在服務器上運行。我正在使用ASP.NET,C#。 非常感謝你們。Jquery Tab從代碼後面修改

回答

1

你說「jQuery」,然後你在同一句話中說「後面的代碼」。你需要明白,這些是完全不同的技術,根本不應該彼此直接瞭解。

「代碼隱藏」在服務器上運行,JavaScript運行在客戶端的瀏覽器上。如果您想修改客戶端頁面上的活動選項卡,那就是JavaScript。如果您想通知您的服務器此選項卡選擇更改,則需要通過從您的JavaScript到您在服務器上創建的Web服務的AJAX調用來實現。

簡而言之,無法單獨使用(邪惡).NET控件。

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。 也許這不是解決這個問題的正確方式,但卻是我找到的唯一方式。我希望有人也覺得它有用。