0

我的 asp.net 站点有一个导航,它使用 .active css 标签来更改活动页面上导航颜色的颜色。

这是在我的 site.master 标头中

.active
{
 background-color: #c62020; 
 border-right: 1px solid;
 margin-left: -1px;
}

</style>

这工作得很好。但现在我希望它根据变量更改背景颜色,我在 Site.Master.cs 中有代码来执行此操作。

我知道我不能在标题中使用 <%= %> 。让它工作的最佳方法是什么?

谢谢

4

2 回答 2

0

为什么不把你的 css 类放在 head 之外并将它放在 body 中,然后你可以在那里使用服务器标签<% %>

另一种方法是通过 jQuery 或 javascript

$(document).ready(function(){
      $('.active').css("background-color","<%=serverVariable%>");
});
于 2013-04-09T18:30:55.127 回答
0

我不知道这是不是最好的方法。我也是初学者。但我已经按照以下方式完成了这个..从你的 .cs 文件中的服务器端调用 JavaScript 函数,比如

    this.Page.ClientScript.RegisterStartupScript(this.GetType(), "keyforfun",fun_setHeadcolor(your_variable), true);

然后在您的 site.master 页面中添加名为“fun_setHeadcolor”的 javaScript 函数,例如

function fun_setHeadcolor(var1)
{ 
  //do stuff here to change background color
  //for example   $('.active').css("background-color",var1);
}
于 2013-04-09T18:43:35.510 回答