webdad3
webdad3

Reputation: 9080

Find a control from an updatepanel and manipulate it

I have a .aspx page that contains a hidden panel that I need to display from a .ascx control.

On my .Click event from my button on my .ascx I have the following:

Dim myControl2 As Control = FindControl("Content1")
Dim myControl3 As Control = FindControl("keywordSearchModal")

On my .aspx I have the following:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentHolder" runat="server">

    <asp:Panel ID="keywordSearchModal" runat="server" Width="800px" Visible="true">
        This is your modal
        <asp:Button ID="OKButton" runat="server" Text="Close" />
    </asp:Panel>

</asp:Content>

Both myControl2 and myControl3 contain nothing when the button is clicked.

How can I find this control from the .ascx that also happens to be an updatepanel.

UPDATE

I was able to find the control by doing the following:

Dim myPanel As Panel = Page.Master.FindControl("ContentHolder").FindControl("keywordSearchModal")
myPanel.Visible = False

Dim myControl As Control = Page.Master.FindControl("ContentHolder").FindControl("keywordSearchModal")
myControl.Visible = False

I was able to use the ContentPlaceHolderID - However now I can't change the visibility...

UPDATE II

thanks to the suggestion below I was able to capture the button click on my .aspx page. However, now just like before I can't seem to manipulate the control. In this example adding text to the panel.

Protected Sub SearchStart(ByVal sender As Object, ByVal e As EventArgs) Handles EquipmentDetails1.SearchStart
    Dim newLabel As New Label
    newLabel.Text = "This is a label!"

    keywordSearchModal.Controls.Add(newLabel)
End Sub

Thoughts?

Upvotes: 1

Views: 307

Answers (1)

Mych
Mych

Reputation: 2553

Here is what I've used in the past...

My user control has an imagebutton and the following in the codebehind

    Public Event SearchStart As EventHandler
    'This will be the event triggered when the imagebutton is clicked 

    Protected Sub ib_Search_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ib_Search.Click

        'Bubble up event to parent
        RaiseEvent SearchStart(Me, e)

    End Sub

Any page that uses the User Control will have the following in codebehind...

    Protected Sub mc_SearchFilter_SearchStart(ByVal sender As Object, ByVal e As EventArgs) Handles mc_SearchFilter.SearchStart

        'CODE that needs to be executed when search image button is clicked in my_control_SearchFilter

    End Sub

Hope that helps....

Upvotes: 1

Related Questions