2012-09-05 3 views
-1

내 애플리케이션의 코드가 마스터 파일에있는 가로 탭이 있습니다. 각 aspx 페이지에는 masterpagefile이 추가되어 각 페이지에 가로 탭이 나타납니다. 이제는 특정 탭 이름이 색상을 변경해야하고 나머지는 파란색 인 응용 프로그램 탭 색상으로 유지해야하는 가로 탭의 탭을 클릭하는 시나리오가 있습니다. 그러나 코드가 마스터 파일에 있기 때문에 접근 방법을 모릅니다. 나는 마스터 파일에서 변경을 수행 할 생각을했지만 숨겨진 변수를 추가해야하는 것처럼 보입니다. 거기에 간단하게됩니다 동일한 작업을 수행하는 각 aspx에서 자바 스크립트를 추가하는 방법이 있나요?자바 스크립트 변경은 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> 

예를 들어 연락처 파일에 대한 각각의 영문 파일의 페이지 태그는 다음과 같습니다 :이 마스터 파일 내 코드

는 TABNAME을 변경 그래서이 영문 파일에 기록 할 수 있으며 무엇 자바 스크립트
<%@ Page Title="Contacts" Language="C#" MasterPageFile="~/NIITS.master" AutoEventWireup="true" CodeBehind="Contacts.aspx.cs" Inherits="Contacts" %> 

(연락처)를 검정색으로 표시합니다. 어떤 제안?

답변

1

이렇게하려면 자바 스크립트를 사용할 필요가 없습니다.

서버 측 요소를 실행하고 .aspx 파일에서 Master.FindControl()을 사용하여 요소를 참조하십시오. 그런 다음 CSS 클래스를 적용하여 스타일을 적용 할 수 있습니다. 당신의 Home.aspx 파일에 다음

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

뒤에서 코드에 다음과 같은 것을 추가 :

는 예를 들어, 마스터 페이지에 당신의 Home 탐색 링크 라인을 바꿀 수

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

관련 문제