Link to home
Start Free TrialLog in
Avatar of Tammu
Tammu

asked on

what wrong wih this code in Master Page

Hello Experts,
i am trying to declare a public string in a Master Page in asp.net 2.0 C#.
i am getting the following error
Cannot implicitly convert type 'bool' to 'System.Web.UI.WebControls.Panel'
can you please tell me where i am making the mistake. i am attaching the code below
Thanks i appreciate it.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
 
public partial class SideBar : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
       //for panel
 
    public Panel SidebarPanel1
    {
        get
        {
            return Panel1.Visible;
        }
        set
        {
            Panel1.Visible = value;
        }
    }
}

Open in new window

Avatar of tiagosalgado
tiagosalgado
Flag of Portugal image

Your declaring your propertie and saying that the return value is going to by a Panel. Change it to
public bool SidebarPanel1
Avatar of Tammu
Tammu

ASKER

Hello Sir,
ok now my error is gone. but when i try to access the SiderbarPanel1 on the page_load of a aspx page like below, how can i set it visible property to be false. this is what i have in my aspx page
Thanks once again
<%@ Page Language="C#" MasterPageFile="SideBar.master" AutoEventWireup="true" CodeFile="sidebar.aspx.cs" Inherits="Menu_sidebar" Title="Untitled Page" %>
<%@ MasterType VirtualPath="SideBar.master" %>
 
<script runat="server">
    protected void Page_Load(object sender, System.EventArgs e)
    {
 
          Master.SidebarLabel1 = "";
          Master.SidebarPanel1 // -----what should i do here to make visible = false
           }
 
 
</script>
 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>

Open in new window

Panel p = Master.FindControl("SidebarPanel1") as Panel;
if (p != null)
{
m.Visible = false;
}
Avatar of Tammu

ASKER

Hello Sir,
i know how to use the FindControl to acces the control from master page. if you have seen my code in the master page i have something like this for a label1

//for label1
    public string SidebarLabel1
    {
        get
        {
            return Label1.Text;
         }
        set
        {
            Label1.Text = value;
        }
    }

and as you have seen in from my earlier post how  i am accessing SidebarLabel1 in the aspx page. i was hoping to do something along that line sir. is is possible to do that
Thanks once again
So, your saying that setting the visible propertie to false, it don't hide the panel right?
If so, try yourpanel.Style.Add("display","none")
ASKER CERTIFIED SOLUTION
Avatar of prairiedog
prairiedog
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Tammu

ASKER

Hello Prairiedog,

bravo !!! it works, one thing i have to ask is , can we this type of coding for other controls like labels, textbox, DDL's etc.
Thanks
Labels and textboxes should be ok. But I am not sure for DLL's.
Avatar of Tammu

ASKER

works like a charm Thanks
For DDL's you can use Style.Add("display","none")
Sorry last comment, ignore it.