Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 510 Vote(s) - 3.48 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Difference between Class vs CSSClass in ASP.Net CSS + CSS syntax question

#1
What is the difference between:

<asp:GridView CssClass="someclass"
and

<table class="someclass">

And how does it relate to how one defines CSS?
For example, using CssClass, one can (I think) write CSS like so:

.someclass {font-family:"arial";
background-color:#FFFFFF;
width: 100%;
font-size: small;}
.someclass th {background: #7AC142;
padding: 5px;
font-size:small;}

But using class, it seems this syntax doesn't work, and judging from

[To see links please register here]

I would have to write the above like this:

.someclass {font-family:"arial";
background-color:#FFFFFF;
width: 100%;
font-size: small;}
th.someclass {background: #7AC142;
padding: 5px;
font-size:small;}

Can someone shed some light on which is the correct way, or if they are both correct, but there is a difference between class and CssClass in ASP.Net?

UPDATE
----------------------
Ok, looks like they are the same thing....so, are the above syntaxes both correct when using class or cssclass, because they don't seem to be.
Reply

#2
There is no difference between the CssClass and class in Asp.Net other than the CssClass is a property of the Control and class is an attribute specified in the html. CssClass is rendered as the class attribute in Html.
Reply

#3
When you use the `CssClass` attribute on an ASP.NET server control, it will render out as `class` in the HTML.

For example, if I were to use a label tag in my mark up:

<asp:label runat="server" CssClass="myStyle" AssociatedControlID="txtTitle" />

would render to:

<label class="myStyle" for="txtTitle" />
Reply

#4
> so, are the above syntaxes both
> correct when using class or cssclass,
> because they don't seem to be.

I am not sure what you mean when you say they do not "seem" to be correct? Do they render differently, even when you are using `<table class='someClass'>` in both cases?

IMHO, as far as the 'class' attribute is concerned, they are both correct. Did you try `.someClass > th` instead of `.someClass th` in the second case? That might solve the problem.
Reply

#5
ASP.Net CssClass is an abstract wrapper around the css "class" specifier.

Essentially, for most intents and purposes, they are the same thing. When you set the `CssClass` property to some string like "someclass", the html that the WebControl will render will be `class = "someclass"`.

<hr/>

EDIT: The CSS selectors you have written are both "correct", but they do two different things. ".someclass th" matches any *descendant* th element of an element that has the "someclass" class. The second one matches the th element itself that has the "someclass" class.

Hope that's clear. Regardless of the way you specify the class for the elements (using ASP.Net's CSSClass, or just setting the class), your CSS selectors will do the same thing. They don't have anything to do with ASP.Net specifically.
Reply

#6
Also note that CssClass="someclass anotherclass" works too as the string is carbon copied.
Reply

#7
Actually, there is a difference between class and CssClass: the class will not be seen by the code behind, but the CssClass will.

Thus, if you add a new class to a control in your code behind, for example:

myControl.CssClass += " foo";

while your control is set as follows:

<asp:TextBox class="Text" ID="myControl" runat="server" />
(Note class attribute: `class="Text"`)

When inspecting your rendered element in your browser, you will see that it will be rendered as follows:

<input class=" foo" name="ctl00$MainContent$myControl" type="text" id="MainContent_myControl" >
(Note how the class has been overridden: `class= " foo"`.)

If you set the CssClass on the other hand:

<asp:TextBox CssClass="Text" ID="myControl" runat="server" />

you will get it rendered (as expected) like so:

<input class="Text foo" name="ctl00$MainContent$myControl" type="text" id="MainContent_myControl">
(note the class has now both classes set, as expected! `class="Text foo"`)
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through