Using C# FindControl To Find User Control In The Master Page
Mar 31, 2010
So all I want to do is simply find a user control I load based on a drop down selection. I have the user control added but now I'm trying to find the control so I can access a couple properties off of it and I can't find the control for the life of me. I'm actually doing all of this in the master page and there is no code in the default.aspx page itself.
MasterPage.aspx
[Code]....
MasterPage.cs
protected void goToSelectedPage(object sender, System.EventArgs e)
{
temp1 ct = this.Page.Master.LoadControl("temp1.ascx") as temp1;
ct.ID = "TestMe";
this.UpdatePanel1.ContentTemplateContainer.Controls.Add(ct);
}
//This is where I CANNOT SEEM TO FIND THE CONTROL ////////////////////////////////////////
protected void lnkSave_Click(object sender, System.EventArgs e)
{
UpdatePanel teest = this.FindControl("UpdatePanel1") as UpdatePanel;
Control test2 = teest.ContentTemplateContainer.FindControl("ctl09") as Control;
temp1 test3 = test2.FindControl("TestMe") as temp1;
string maybe = test3.Col1TopTitle;
}
Here I don't understand what it's telling me. for "par" I get "ctl09" and I have no idea how I am supposed to find this control. temp1.ascx.cs
I'm trying to find a TextBox in the code-behind page, it's inside a nested master page and also then inside another control container (it's inside ctrlCheckoutShippingAddress also) .
and I want change it's color in behind code so I wrote:
(this.Master.FindControl("HyperLink1") as HtmlGenericControl).Style["color"] = "black";
but below error happen:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.Source Error:
Line 13: Line 14: (this.Master.FindControl("ADMenuMessage") as HtmlGenericControl).Style["background-image"] = Page.ResolveUrl("~/Image/ADactivmenu.png"); Line 15: (this.Master.FindControl("HyperLink1") as HtmlGenericControl).Style["color"] = "black"; Line 16: } Line 17: }
how I can change hyperlink textcolor in behind code?
I looked at your example URL....I have ScriptManager in masterpage how call ScriptManager from masterpage in editorPage.aspx if (Script Manager 1.IsInAsyncPostBack)
I've got a web site that has a master page and that master page (mpMaster that has a user control ucControl1) which has a sub user control (ucControl2), this user control has a property which accepts a value. Now, I have a page that uses the master page and on this page I have another user control (ucPageControl), I need to find a way of setting the value in ucControl2 from ucPageControl. Is this possible at all?
For some reason when I look at the controls in the ListViewDataItem it has the ClientID:
ctl00_cphContentMiddle_lv_Questions_ctrl0_ctl00
Why would it be changing Numberofacres to ctl00? Is there any way to work around this?
UPDATE:
Just to clarify, I am databinding my ListView in the Page_Init event. I then create the controls in the ItemBound event for my ListView. But based on what @Womp and MSDN are saying the controls won't actually be created until after the Load event (which is after the Page_Init event) and therefore are not in ViewState? Does this sound correct?
If so am I just SOL when it comes to retrieving the values in my dynamic controls from my OnClick event?
UPDATE 2:
So i changed the code i had in my Page_Init event from:
Object reference not set to an instance of an object. when I try to access these dynamically created controls using FindControl.
I have a dynamically created control within a table cell. The table itself is contained within a page that has a master page. I've tried so many different ways to access this control.
Below is the latest iteration
AttrTable is the asp table, and row.Attr_Type is the name I've given to the control (it iterates through a datatable to set the names for the control)
tmpVal = CType(AttrTable.FindControl("TD_" & row.Attr_Type).FindControl(row.Attr_Type), DropDownList).Text Below are various ways I've tried to access the control: Dim form As Control = Page.Master.FindControl("form1") Dim content1 = form.FindControl("ContentPlaceHolder1")
I have a control on a master page called "panel1". I would like to access it from my Javascript on the content page. I have tried var panel1 = document.getElementById('<%= panel1 %>'); It doesn't work since it is on the Master page.
I have an aspx web application in which 1 aspx page and 1 web user controls exist. I added 4 instances of the user control in aspx page. There is a remove button in user control which is used to remove the control from the aspx page. If I click on remove button of the user control, how can I find that which user control's remove button is clicked from the aspx page.
I have a label on my master page (called mainMenu) that shows the number of items in a cart. The label wasn't getting updated when the cart was cleared until after an additional postback or redirect so I created a method on the master page called UpdateNumberOfItemsInCart to update the label text.
Using the MasterType directive on the Cart page allowing me to strongly type the master page, I can access the update method from the Cart page. There is a user control also named Cart that actually contains the 'clear cart' button so I setup an event on the user control also called UpdateNumberOfItemsInCart. I wire up the Cart control's event on the Cart page which then makes a call to Master.UpdateNumberOfItemsInCart();
So far so good except when I wrap the Cart control with an update panel the update to the cart count label doesn't happen.
I am tring to send form values to a page from a user control. I included the user control in a master page.When i use page.previouspage it can not get value. is there any way to send form data to a page from a user control included in a master page?
I have a web page (Orders.aspx) that gets some orders and show them in a Gridview .The orders list I get from DB is depend on a field named Status. The page has a master page that contains a Tab user control. The user control has several tabs and every tab has a different Status. Therefor, when the user clicks on every tab, I want to pass a value as status to my content page (Orders.aspx) and then select the orders from DB based on status.