2012-09-05 64 views
-1

我的應用程序有一個水平選項卡,其代碼位於主文件中。每個aspx頁面都添加了masterpagefile,因此每個頁面中都會顯示水平選項卡。現在我有一個場景,如果我單擊水平選項卡中的任何選項卡,特定選項卡名稱必須更改顏色,其餘部分將保持藍色,即應用程序選項卡顏色。但由於代碼是在主文件中,所以不知道如何處理。我想在主文件中進行更改,但看起來像我需要添加一些隱藏的變量。有沒有一種方法可以在每個aspx中添加javascript來執行相同的操作?這是我在主文件代碼:Javascript更改爲aspx文件

 <div id="header"> 
    <ul id="navigation" title="Navigation" tabindex="200"> 
    <li><a href="Home.aspx">Home</a></li> 
    <li><a href="NIITS.aspx">About NREPP</a> 
     <ul> 
     <li><a href="Contacts.aspx">Contacts</a></li> 
     <li><a href="Search.aspx">Search</a></li> 
     </ul> 
    </li> 
</div> 

在例如聯繫人文件每個aspx文件頁面標籤下面:

<%@ Page Title="Contacts" Language="C#" MasterPageFile="~/NIITS.master" AutoEventWireup="true" CodeBehind="Contacts.aspx.cs" Inherits="Contacts" %> 

我可以在這個aspx文件中寫什麼的JavaScript,以便它改變了TABNAME(接觸)變黑。有什麼建議麼?

回答

1

你不需要使用javascript來實現這一點。

運行服務器端的元素,並在您的.aspx文件中使用Master.FindControl()引用該元素。然後你可以應用一個CSS類來創建樣式。

例如,在您的主網頁,你可以改變Home導航鏈接線:

<li><a id="navHome" runat="server" href="Home.aspx">Home</a></li> 

然後在您的Home.aspx文件中添加類似下面給後面的代碼:

protected void Page_Init(){ 
    ((HtmlControl)Master.FindControl("navHome")).Attributes["class"] += " active" 
} 

這將增加一個額外的active類到你的錨元素,你可以風格:

#navigation a.active { 
    font-weight:bold; 
} 
+0

@ Curt ..我還有1個問題。我有幾個沒有代碼隱藏文件的aspx頁面。但那些aspx頁面是指主文件。我如何處理這些頁面? – JNPW

+0

@Server爲什麼他們沒有代碼隱藏文件?您是否可以爲此添加代碼隱藏文件? – Curt

相關問題