您好我想在后面的代码中动态添加CSS类。
这很容易添加,但我的结构却差不多。
我有一个母版页,其中有一个这样的div:
<div class="contnav_bg" id="wrapper">
// some content
<div>
我希望class="contnav_bg"
仅应用于dashboard.aspx页面。
现在它适用于所有页面。
我可以为它或其他任何东西创建功能。
由于
答案 0 :(得分:1)
我会使用jQuery。
在Dashboard.aspx 页面的标记中,添加以下内容:
<script type="text/javascript">
$(document).ready(function(){
$('div#wrapper').addClass('contnav_bg');
});
</script>
如果你是jQuery的新手,这是一个“入门”教程:http://learn.jquery.com/javascript-101/getting-started/
答案 1 :(得分:1)
如果你不想做这个服务器端你可以通过一些jQuery来做到这一点,在我看来更清洁。将其添加到您的母版页:
<script type="text/javascript">
$(document).ready(function() {
if(window.location.pathname.indexOf('dashboard.aspx') > 0)
{
$('#wrapper').addClass('contnav_bg');
}
});
</script>
它会查看当前网址,只有在用户位于dashboard.aspx
页面时才会应用该网址。
或者,将代码直接放在dashboard.aspx
模板 中,而不是将其放在母版页中:
<script type="text/javascript">
$(document).ready(function() {
$('#wrapper').addClass('contnav_bg');
});
</script>
答案 2 :(得分:-1)
如果您只想让某些页面具有该类,请不要将其保留在母版页中。如果要在服务器上进行设置,则必须能够在那里访问DIV。所以你应该把它变成服务器div:
<div id="wrapper" runat="server"></div>
请注意,当您执行此操作时, ID将被更改,因此任何使用它的JavaScript都可能会中断。
然后,当您执行服务器代码时,您可以获取div并添加属性,但仅限于Dashboard.aspx代码隐藏。您可以在Page_Load:
上执行此操作var myDiv = this.FindControl("wrapper") as HtmlGenericControl;
myDiv.Attributes["class"] = "contnav_bg";