Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

ASP.NET MasterPage How to Access controls within a contentplaceholder

Posted on 2008-06-15
4
Medium Priority
?
1,881 Views
Last Modified: 2013-11-26
I am trying to create property "genMessage" within a masterpage and access the panel control within a contentholder and read/write the text contained within it.  I can access the contentplaceholder,  it shows a control count of 1,  but I do not see how to read/write the text within it (at the moment the text is within a div tag...)


<<<EXCERPT FROM MASTERPAGE>>>>
...
...
...
    <div>
        <asp:contentplaceholder id="MenuContainer" runat="server">
            <a href="~/CustomNavBar.ascx">~/CustomNavBar.ascx</a>
        </asp:contentplaceholder>
        
        <asp:contentplaceholder id="mainContentContainer" runat="server">
        </asp:contentplaceholder>
 
        <asp:contentplaceholder id="generalMessages" runat="server">
        
          <asp:Panel ID="msgContent" runat="server"  BackColor="RosyBrown" ForeColor="Aqua" Width="631px">
            <div>
            This page is still under contruction.  Please check you email for update information or check back soon.
            </div>
          </asp:Panel>
        
        </asp:contentplaceholder>
 
    </div>
...
...
...
 
<<<From The Associated MasterPage vb file>>>
 
    Public Property genMessage() As String
        Get
            Dim cph As ContentPlaceHolder = New ContentPlaceHolder
            cph = Me.FindControl("generalMessages")
            If Not cph Is Nothing Then
                Dim lctrl As LiteralControl = New LiteralControl
                lctrl = CType(cph.Controls.Item(0), LiteralControl)
                Return pnl.ToString
 
            Else
                Return String.Empty
            End If
 
        End Get
 
        Set(ByVal value As String)
            Dim pnl As Panel = New Panel
            pnl = Me.FindControl("msgContent")
            If Not pnl Is Nothing Then
                Page.ClientScript.RegisterClientScriptBlock(GetType(Page), "GENERALMESSAGE", value)
                'Page.RegisterClientScriptBlock("SETGENERALMESSAGE", value)
            End If
        End Set
    End Property

Open in new window

0
Comment
Question by:Howard Bash
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 18

Accepted Solution

by:
Ajay Sharma earned 1000 total points
ID: 21791083
I think line no. 37 should be corrected.

instead of
Return pnl.ToString

it should be
Return lctrl.ToString

==========

Secondly Asp.net Panel control does not have a Text property, so if you want to get set the text use label inside panel
0
 
LVL 13

Assisted Solution

by:sm394
sm394 earned 1000 total points
ID: 21791748
you can access controls in contentplaceholder  by using  controls client ID property
<%= btnSearch.ClientID %> In your case  msgContent.ClientID
also this is good article about Master pages and content pages

http://www.odetocode.com/articles/450.aspx
read section "FindControl, JavaScript, and Naming Containers" for more info
0
 
LVL 13

Expert Comment

by:sm394
ID: 21791802
0
 
LVL 1

Author Closing Comment

by:Howard Bash
ID: 31467453
I appreciate the pointers.  I only wish that one of my experts had included some trival complete example.  But,  definitely headed me in the right direction.
0

Featured Post

New benefit for Premium Members - Upgrade now!

Ready to get started with anonymous questions today? It's easy! Learn more.

Question has a verified solution.

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

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…

715 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