Solved

user control public properties unaccessible from codebehind

Posted on 2008-10-15
6
841 Views
Last Modified: 2013-11-07
I have a user control that I cannot access the public properties. I have given it a classname directive and it still does not show up in my codebehind.

I have scoured this site and all over looking for solutions. Everything I read shows me this is a nobrainer, so there is obviously something I'm missing.

Any ideas?

Attached is the user control snippet
<%@ Control Language="C#" ClassName="WxViewer" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="Weather" %>
 
<script language="c#" runat="server">
 
    private Decimal _latitude = new Decimal(35.47);
    private Decimal _longtitude = new Decimal(-97.45);
    private string _areaname = "Enid";
    
    private string _cssClassWarm = "Warm";
    private string _cssClassCold = "Cold";
    private string _cssClassNormal = "Normal";
 
    private Unit _width = Unit.Parse("50%");
 
    
    public string longtitude
    { set { _longtitude = Decimal.Parse(value); } }
 
    public string latitude
    { set { _latitude = Decimal.Parse(value); } }
 
    public string areaName
    { set { _areaname = value; }
        get { return _areaname; }    
    }
    
   <<<<< snip >>>>>>>
    
</script>
 
<h1><asp:label runat="server" ID="lblAreaName"/> Area Weather Outlook</h1>
<p>
    <asp:Table runat="server" ID="WeatherTable" />
    <asp:Label runat="server" ID="WeatherLabel" Visible="false" Text="Weather Information Currently Not Available." />
</p>

Open in new window

0
Comment
Question by:jackmac4
  • 5
6 Comments
 

Author Comment

by:jackmac4
ID: 22722932
Here in the default codebehind, I cannot access WxControl properties. They are not available.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace PANDK
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(ReadCookie("PANDK_Location")))
            {
                
            }
        
        }
 
<<< snip >>>

Open in new window

0
 

Author Comment

by:jackmac4
ID: 22722947
finally, here is the main page code
<%@ Page Title="" Language="C#" Trace="false" MasterPageFile="~/PK.Master" AutoEventWireup="false" CodeBehind="Default.aspx.cs" Inherits="PANDK.Default" %>
<%@ Register TagPrefix="Wx" TagName="Viewer" Src="~/ctrl/WxViewer.ascx" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <div id="Weather" class="sectionHeaderBig">
        <Wx:Viewer id="WxControl" runat="server" latitude="36.41" longtitude="-97.89" width="465px" areaName="Enid" />

Open in new window

0
 

Author Comment

by:jackmac4
ID: 22725470
Am I not making sense or is there some clarification I could give to help someone help me?
0
Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

 
LVL 14

Expert Comment

by:Ramuncikas
ID: 22728381

WxViewer myControl = (WxViewer)this.Content2.FindControl("WxControl");
myControl.latitude = "10";

Open in new window

0
 

Author Comment

by:jackmac4
ID: 22730316
Yes, this would be the way to do it if it worked - but WxViewer class isn't showing up. I cant access it. I can access the WxControl control, but the properties aren't showing up.

I'm using VWD2008.
0
 

Accepted Solution

by:
jackmac4 earned 0 total points
ID: 22731351
I found the problem - I was using an older style user control without a codebehind. Once I rewrote the control with a codebehind everything seems good.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
SSIS On fail action 5 38
Code works but breaks when I add one section 4 20
Code enhancement 4 22
C# class library debugging - Breakpoint will not hit. 8 20
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

838 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