2013-08-29 47 views
1

您好,我想在后面的代码中动态添加CSS类。在后面的代码中动态添加CSS类使用c#

这很容易添加,但我有一点不同的结构。

我有有一个格像这样的母版页:

<div class="contnav_bg" id="wrapper"> 

// some content 


<div> 

我想class="contnav_bg"将只适用于dashboard.aspx页。

现在它适用于所有页面。

我可以为它创建函数或其他任何东西。

谢谢

+0

你可以使用jQuery添加/删除类 – Ehsan

+0

为@NoOne说使用jQuery,如果你想在代码执行后面再运行scriptclient – Zaki

+0

@NoOne你可以发布任何链接帮帮我? – neha

回答

1

如果您不想做这个服务器端,你可以通过一些在我看来更干净的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> 
+0

谢谢.................... – neha

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/

+0

为什么downvote? – htxryan

+0

即将问到,这没什么不妥。有+1 – DGibbs

-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"; 
相关问题