Javascript更改是aspx文件

时间:2012-09-05 15:50:47

标签: javascript .net html

我的应用程序有一个水平标签,其代码在主文件中。每个aspx页面都添加了masterpagefile,因此每个页面中都会显示水平选项卡。现在我有一个场景,如果我单击水平选项卡中的任何选项卡,特定选项卡名称必须更改颜色,其余将保持蓝色,这是应用程序选项卡颜色。但由于代码是在主文件中,不知道如何处理。我想在主文件中进行更改,但看起来我需要添加一些隐藏变量。有没有办法在每个aspx中添加javascript来做同样的事情呢?这是我在主文件中的代码:

        <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 个答案:

答案 0 :(得分: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;
}