Solved

Asp.Net - Get Height of HtmlGenericControl

Posted on 2011-02-12
5
1,385 Views
Last Modified: 2012-05-11
Hi,

Using ASP.Net, how do you get the height of a HtmlGenericControl?

Non-Functional Example:

Dim ContentPaneControl As HtmlGenericControl = CType(Master.FindControl("ContentPane"), HtmlGenericControl)

Dim MyDivHeight As String = ContentPaneControl.Attributes("height").ToString

Thank you,
Ben
0
Comment
Question by:Beircheart
  • 3
  • 2
5 Comments
 
LVL 16

Expert Comment

by:BurnieP
ID: 34879952
If you change Attributes for Style?

Dim MyDivHeight As String = ContentPaneControl.Style("height").ToString
0
 

Author Comment

by:Beircheart
ID: 34880443
No go I'm afraid

"Object reference not set to an instance of an object"
0
 
LVL 16

Expert Comment

by:BurnieP
ID: 34880465

I think you have a problem with getting your control.

Get the ContentPlaceHolder first

Dim mContentPlaceHolder As ContentPlaceHolder = CType(Master.FindControl("ContentPlaceHolder1"), ContentPlaceHolder)
(where "ContentPlaceHolder1" is the ID of your ContentPlaceHolder.

Then try :

Dim ContentPaneControl As HtmlGenericControl = CType(mContentPlaceHolder .FindControl("ContentPane"), HtmlGenericControl)

0
 

Accepted Solution

by:
Beircheart earned 0 total points
ID: 34896024
Hi Burnie,

Unfortunately that didn't work either

However, I have implemented a workaround using Javascript (See attached). This code is embedded on my Master Page

While I am satisfied with this workaround, I would prefer to avoid such a method due to the fact that this function is now being called on every page even though it is only needed on one of them

I will leave this question open until Thursday in case someone can provide a solution rather than a workaround

For the sake of clarity, I will summarise what I'm trying to do:

I have a div in my Master page (Lets call it MasterPageDIV). I have a conent page called MyContentPage.aspx. I would like to get the height of MasterPageDIV using .Net code in the MyContentPage.aspx Page_Load event.

All the best,
Ben
<script type="text/javascript">

        try {
            window.onresize = SetImagePosition
        }
        catch (e) {
            // Ignore Error
        }

        function SetImagePosition() {
            try {
                
                document.getElementById('CalendarStyle').style.marginTop = 0;
                
                if (document.getElementById('Background-Home')) {
                    document.getElementById('Background-Home').style.marginTop = 1;
                }

                var ContentPaneHeight = document.getElementById('ContentPane').offsetHeight;
                var LinksPaneHeight = document.getElementById('LinksPane').offsetHeight;

                if (LinksPaneHeight < ContentPaneHeight) {
                    document.getElementById('CalendarStyle').style.marginTop = ContentPaneHeight - LinksPaneHeight + 10;
                    if (document.getElementById('Background-Home')) {
                        document.getElementById('Background-Home').style.marginBottom = 1;
                    }
                }

                else if (LinksPaneHeight > ContentPaneHeight) {
                    if (document.getElementById('Background-Home')) {
                        document.getElementById('Background-Home').style.marginTop = LinksPaneHeight - ContentPaneHeight;
                    }
                }
            }
            catch (e) {
                // Ignore Error
            }
        }

    </script>
</head>
<body onload="SetImagePosition()">

Open in new window

0
 

Author Closing Comment

by:Beircheart
ID: 34986373
This workaround will have to do
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
How come this regular expression allows "e"? 14 36
VB.NET 2008 - SQL Timeout 9 24
Button and js nou working 3 7
If condition on Html with Asp 11 15
Use these top 10 tips to master the art of email signature design. Create an email signature design that will easily wow recipients, promote your brand and highlight your professionalism.
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…
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

776 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