使用c#在代码背后动态添加CSS类
本文关键字:添加 CSS 动态 背后 代码 使用 | 更新日期: 2023-09-27 18:29:34
嗨,我想在代码背后动态添加CSS类。
这很容易添加,但我的结构略有不同。
我有一个主页面,它有一个像这样的div:
<div class="contnav_bg" id="wrapper">
// some content
<div>
我希望class="contnav_bg"
仅应用于dashboard.aspx页面。
现在它适用于所有页面。
我可以为它创建函数吗。
感谢
如果你不想在服务器端做这件事,你可以通过一些jQuery来做,在我看来,它要干净得多。将此添加到您的主页:
<script type="text/javascript">
$(document).ready(function() {
if(window.location.pathname.indexOf('dashboard.aspx') > 0)
{
$('#wrapper').addClass('contnav_bg');
}
});
</script>
它将查看当前url,并且只有当用户在dashboard.aspx
页面上时才应用该类。
或者,将代码直接放在dashboard.aspx
模板中,仅,而不是放在主页面中:
<script type="text/javascript">
$(document).ready(function() {
$('#wrapper').addClass('contnav_bg');
});
</script>
我会使用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/
如果只希望某些页面具有该类,则不要将其保留在母版页中。如果你想在服务器上设置它,你必须能够访问那里的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";