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

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
KavyaVSAsked:
Who is Participating?
 
BuggyCoderConnect With a Mentor Commented:
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
 
KavyaVSAuthor Commented:
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
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

 
KavyaVSAuthor Commented:
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
 
BuggyCoderConnect With a Mentor Commented:
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
 
Albert Van HalenConnect With a Mentor Analyst developerCommented:
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
 
KavyaVSAuthor Commented:
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
 
KavyaVSAuthor Commented:
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
 
KavyaVSAuthor Commented:
Thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.