Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

changing "class="" " through code behind aspx vb.net

Posted on 2009-04-06
9
Medium Priority
?
1,539 Views
Last Modified: 2012-05-06
Hi all

I want to change the class attribute on the below through code behind on page load:

<a href="" class="current" id="one" runat="server"></a>
<a href="" class="" id="two" runat="server"></a>

I want to change 'one's class to nothing and 'two's class to current. How would I do this through vb.net?

Thanks!
0
Comment
Question by:garethh86
  • 4
  • 3
  • 2
9 Comments
 
LVL 15

Expert Comment

by:oobayly
ID: 24077537
Just need to use these two lines:
    Me.one.CssClass = "";
    Me.two.CssClass = "current";

Open in new window

0
 
LVL 13

Expert Comment

by:numberkruncher
ID: 24078220
Whilst what you have works, I would recommend using the asp.net tags for this (primarily for consistency in naming).

Basically what oobayly said, but remember that in VB.NET the semi-colon is not used to separate statements.
Page Itself (.aspx):
====================
 
<asp:Label ID="one" runat="server" NavigateUrl="" CssClass="current"/>
<asp:Label ID="two" runat="server" NavigateUrl="" CssClass=""/>
 
 
Code Behind Page (.aspx.vb):
============================
 
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 
     Me.one.CssClass = ""
     Me.two.CssClass = "current";
 
End Sub

Open in new window

0
 
LVL 13

Expert Comment

by:numberkruncher
ID: 24078241
Whoops, somehow I managed to paste the semi.....shows how easily it is done!
Page Itself (.aspx):
====================
 
<asp:Label ID="one" runat="server" NavigateUrl="" CssClass="current"/>
<asp:Label ID="two" runat="server" NavigateUrl="" CssClass=""/>
 
 
Code Behind Page (.aspx.vb):
============================
 
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 
     Me.one.CssClass = ""
     Me.two.CssClass = "current"
 
End Sub

Open in new window

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 15

Expert Comment

by:oobayly
ID: 24078286
@numberkruncher
Oops, force of habit :-), though it's nice to see I'm not the only one!
0
 
LVL 7

Author Comment

by:garethh86
ID: 24079998
I get the error:

cssclass is not a member of htmlcontrol.htmlanchor

I was looking along the lines of re-writing the innerHTML on the anchor elements but could not get it working, I also need this to work for other elements on the page so although I could replace these with labels I will still need another way of doing this.

Any other ideas? Thanks for your help so far!

Gareth
0
 
LVL 13

Expert Comment

by:numberkruncher
ID: 24080021
Try using the
0
 
LVL 7

Author Comment

by:garethh86
ID: 24080169
I can replace  the anchor with an asp.net tag but I need this to work with other html elements aswell, let me re-phrase the question to explain:

<div ID="Div1" runat="server" class="current"></div>
<div ID="Div2" runat="server" class=""></div>

How would I change the class using vb.net on pageload? Not only limited to this element, I have lots of different elements I want to apply different classes to depending on the page it is on.

From what I could find I need to re-write the innerHTML of the element simply using string.replace but I cant get it working, unless of course you know of another way around it. cssclass is not a member of htmlcontrol.html<anyelement>.

Thanks

Gareth
0
 
LVL 13

Expert Comment

by:numberkruncher
ID: 24080332
You may consider using asp.net processing instructions, they happen on load, and you can use inline VB.NET code. So you can access all of your pages properties and such.

Btw, asp:Panel can be used in place of div.
<div ID="Div1" runat="server" class="<%= "current" %>"></div>
<div ID="Div2" runat="server" class="<%= "" %>"></div>

Open in new window

0
 
LVL 7

Accepted Solution

by:
garethh86 earned 0 total points
ID: 24081111
Found it, can be used on any html element so long as you specify an ID and runat="server" on the tag
YourElement.Attributes.Add("class", "myCssClass")
YourElement.Attributes.Add("width", "100px")
YourElement.Attributes.Add("border", "1px")
YourElement.Attributes.Add("alt", "Alternative Text for Images")
 
YourElement.Attributes.Remove("class")
YourElement.Attributes.Remove("border")

Open in new window

0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

CSS is a visual language used to classify objects and define rules about how they should be displayed. CSS skills aren’t restricted to developers anymore, there is a big benefit to having a basic understanding of the language, regardless of your occ…
This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…
Suggested Courses
Course of the Month13 days, 9 hours left to enroll

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question