Solved

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

Posted on 2009-04-06
9
1,397 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
 
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
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
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

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Suggested Solutions

This article discusses four methods for overlaying images in a container on a web page
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
In this tutorial viewers will learn how to customize the background color and font color of highlighted text using the ::selection element in CSS Begin by defining the selected text as an element in CSS by typing "::selection": Style the ::selection…
In this tutorial viewers will learn how to style different bullet points for unordered lists in CSS. Begin with a normal unordered list; the default bullet point is a solid circle: In the CSS, create a defined class of unordered list by typing "ul.S…

760 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now