变量名不会替换为head标记内的值

时间:2013-04-09 18:16:59

标签: c# asp.net

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

这是在我的site.master标题中     

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

</style>

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

据我所知,我无法使用&lt;%=%&gt;在标题内。什么是最好的方法让它工作?

由于

2 个答案:

答案 0 :(得分:0)

为什么不把你的css类放在头脑之外并把它放在体内然后你可以在那里使用服务器标签<% %>

另一种方式是通过jQuery或javascript

$(document).ready(function(){
      $('.active').css("background-color","<%=serverVariable%>");
});

答案 1 :(得分: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);
}
相关问题