Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

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

Posted on 2009-04-06
9
Medium Priority
?
1,501 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 
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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

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.
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
In this tutorial viewers will learn how to style transparent/translucent elements using alpha transparency in CSS Start with a normal styled element, such as a div.: Define its "background-color" property as "rgba (255, 255, 255, .5): The numbers in…
In this tutorial viewers will learn how to style rounded corners for elements in CSS using the border-radius property Begin with a normal styled element such as a div: To style all four corners of the div to be the same degree of roundness, use the …

604 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