Solved

Why CSS Styles are not applying to User Controls when referred it in .aspx page which using content controls.

Posted on 2012-03-19
10
391 Views
Last Modified: 2012-04-14
I created a footerPage.ascx user control for footer content of .aspx page.I am registering it in page which using content and Table controls.The User control using css style sheets.

When I registered the user control in page by <%@ Register TagPrefix="ctr" TagName="Footer" Src="../footerPage.ascx" %>the styles are not applying to User Control.
Markup:
<asp:TableFooterRow>
 <asp:TableCell>
 <ctr:Footer ID="FtrPage" runat="server"  />
   </asp:TableCell>
</asp:TableFooterRow>

Please any suggestions.

Thanks
0
Comment
Question by:KavyaVS
  • 5
  • 4
10 Comments
 
LVL 20

Assisted Solution

by:BuggyCoder
BuggyCoder earned 350 total points
ID: 37737656
0
 

Author Comment

by:KavyaVS
ID: 37737712
The css file is under App_Themes folder.
I am referring it in web.config file by using this line  <pages theme="Default_Theme">

Is there anything else I need to do.

Thanks
0
 
LVL 20

Assisted Solution

by:BuggyCoder
BuggyCoder earned 350 total points
ID: 37737726
0
 

Author Comment

by:KavyaVS
ID: 37738149
I am referring the css file in .ascx file.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="footerPage.ascx.cs" Inherits="Products.footerPage" %>
    <link href="~/css/Products.css" rel="stylesheet" type="text/css" />


I am confused with the links you sent.
Please let me know what to do. I am  already refering it in .ascx file.

Thanks
0
 
LVL 20

Assisted Solution

by:BuggyCoder
BuggyCoder earned 350 total points
ID: 37738681
please don't refer it in ascx file, refer it in aspx file....
remove its reference from ascx file and add it to aspx file....
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 19

Assisted Solution

by:Albert Van Halen
Albert Van Halen earned 150 total points
ID: 37739627
What are your style rules.
If you're using id selectors you're (probably) screwed; because the server ids are different than the ids on the client.
You're better of with a class selector

Specify the CssClass property on your asp:table, for example : mytable.
Then in your css refer to that table via the class selector.
TABLE.mytable

Open in new window

Use this as the context in other rules
TABLE.mytable TR TD {
}
TABLE.mytable THEAD, TABLE.mytable TFOOT {
}

Open in new window

0
 

Author Comment

by:KavyaVS
ID: 37747022
This is my User Control.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="footerPage.ascx.cs" Inherits="products.footerPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <link href="~/css/products.css" rel="stylesheet" type="text/css" />
 <div id="footer_bkgd_int">
        <br />
            <div id="footer_icons" class="grid_11">
                <img id="footer_icon1" src="../assets/footer.icon.gif" />
                    <img id="footer_icon2" src="../assets/footer.icon2.gif" />
            </div>
            <div id="footer_content" class="grid_11">
                Copyright 2012. All rights reserved.
                   
                    <br/><br/>
                    This web site,is the only authorized web site.
                    <br/><br/>            
                   
                </div>
     </div>  
This is the css class I am applying to user control.
.grid_11
{

 display:inline;

 float: left;

 position: relative;

 margin-left: 10.0px;

 margin-right: 10.0px;

}

I tried to use this css in .aspx page by two ways.
1.When I tried to add link to css in .aspx page it is giving the error.
<link href="~/css/product.css" rel="stylesheet" type="text/css" />
content is not supported outside script or content regions.

2.<asp:TableFooterRow >
 <asp:TableCell >
 <ctr:Footer ID="FtrPage" runat="server"  />
   </asp:TableCell>
</asp:TableFooterRow>

I tried to add the class grid_11 at user control mark up.But it is not working. How to make it work.


Thanks
0
 
LVL 20

Accepted Solution

by:
BuggyCoder earned 350 total points
ID: 37747086
Remove this line from your ascx
<link href="~/css/products.css" rel="stylesheet" type="text/css" />

Add the css file in your aspx, don't remove the class used in the div in ascx.
--Aspx page--
<head>
<link href="~/css/products.css" rel="stylesheet" type="text/css" />
</head>
At Runtime, when html reponse is bieng sent to the client, the class name that you div in user control refers to will be found in the css you have put in your aspx code and thus will be applied automatically.
0
 

Author Comment

by:KavyaVS
ID: 37748793
I added this line in .aspx page.
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
  <link href="~/css/products.css" rel="stylesheet" type="text/css" />
</asp:Content>

I Removed this line from ascx.I didn't remove the class used in the div in ascx.
<link href="~/css/products.css" rel="stylesheet" type="text/css" />

But there is no change. The css styles are not applying to user control.

Are there any other suggestions please.

Thanks
0
 

Author Closing Comment

by:KavyaVS
ID: 37847440
Thanks
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

So you have coded your own WordPress plugin and now you want to allow users to upload images to a folder in the plugin folder rather than the default media location? Follow along and this article will show you how to do just that!
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.
In this tutorial viewers will learn how add a full-size background image to a webpage using CSS3. Create a new HTML document with an internal stylesheet.: In CSS, define the html element to have a background image. Use a high resolution image.: In t…
In this Micro Tutorial viewers will learn how to create a CSS image sprite (In a later tutorial, viewers will learn how to use CSS and HTML to create a navigation menu using this sprite) Open a new Photoshop document with a width of (Icon width)x(N…

743 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

10 Experts available now in Live!

Get 1:1 Help Now