I don't think I understand fully how ASP.NET does inheritance of controls.I have a user control, ucBase, which has an asp.net label in the ascx file. Code behind references the label and it works fine during run time if the control is not a parent for another user parent.
If I have another user control, ucChild, inheriting from ucBase, the label in ucBase's code is always null. ucChild has no controls in its ascx fileThe server controls (like the label) needs to be declared in the ascx file and not created programmatically.What needs to be done for ucBase to see its own controls when it's a parent user control?
I have an ASP.NET 4.0 application with some simple user controls. The user controls work fine on the design surface (VS.NET 2010), but when they're loaded during application execution, nothing shows up.
Futhermore, the various child controls of the user controls are null when referenced inside the code behind for the user control.
The code behind for the user control executes as expected, but any reference to child controls are null.
It's like ASP.NET is never parsing the ASCX to create the instances of the child controls.
I am trying to add a user control into a div at runtime. I can add the control no probelem but it overwrites the previous control added.Basically, I am trying to add passengers to a travel system - the passenger details are in the user control and I don't know in advance how many there will be. I have an add new passenger button which should append the new user control into the div without overwriting the previous passenger. The code is c#/.net 4. I have tried to save the control data into viewstate and re add it with the new one but that also doesn't work. Here is a snippet of the code I'm using
foreach (Control uc in p_passengers.Controls) { Passenger p = uc as Passenger; if (p != null) { p.SaveValues(); } }
however, p.SaveAs() (just writes the control values into ViewState) is never hit.
I've created 2 controls to manipulate a data object: 1 for viewing and another for editing.
On one page I load the "view" UserControl and pass data to it this way:
ViewControl control = (ViewControl)LoadControl("ViewControl.ascx"); control.dataToView = dataObject; this.container.Controls.Add(control);
That's all fine and inside the control I can grab that data and display it.
Now I'm trying to follow a similar approach for editing. I have a different User Control for this (with some textboxes for editing) to which I pass the original data the same way I did for the view:
EditControl control = (EditControl)LoadControl("EditControl.ascx"); control.dataToEdit = dataObject; this.container.Controls.Add(control);
Which also works fine.
The problem now is getting to this data. When the user clicks a button I need to fetch the data that was edited and do stuff with it. What's happening is that because the controls are being added programmatically, the data that the user changed doesn't seem to be accessible anywhere.
I have a user control which contains two text fields each assigned with requiredfield validators this control contains another user control contains say a button .On click of this button i need to validate the fields from the parent control text fields.I try the Page.Validate("ValidationGroup") with Page.IsValid it validates but the error message is not shown .Error message is shown only if i try to validate it from the contains which contains the required field validators ?
I am trying to find a way to be able to programmatically change an update button's onclick eventhandler when that button is placed within an updatepanel. If i do not include the original onClick eventhandler function in the code-behind, the app wont compile. If i do include the original onClick eventhandler function, it executes when the button is clicked even after assigning a new onClick evnthandler function.
I was wondering if there's a way in Umbraco to log errors that we get when it fails to load xslt or user-controls. Generally it shows a red box saying it couldn't load the control and stuff. Is there a way to properly log this?
i have a base user control (WC1) which inherits from WebUserControl and a child user control (WC2) which inherits from WC1. I added a textBox and a label to WC1 in vs design view not code behind. But all the server controls that i put in WC1 are null and give null pointer exception.I tried to access textBox and label in different events but the all of them are null.
Steps to reproduce the error:
create a web user control called WC1 by add a new item in VS added a textBox and label server control to WC1 in design view of VS and put code behind: var value = txetBox.Text; created another web user control called WC2 by add a new item in VS and change its base class to WC1 in its code behind create a web page by adding a new item in vs and drag WC2 to the design view of the page run the page then you will see the exception for the codebehind in WC1
[code]....
page:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WC2.ascx.cs" Inherits="WebApplication1.WC2" %>
can web server controls of WC1 be instantiated in this case? or can user control inherit from another user control and web server controls of parent user control be carried to its children without worring the layout?
I would like to know how to add some additional child nodes to a custom user control class derived from System.Web.UI.Control. For example currently I have a control that contains no child nodes and on the design surface looks like the following.
What I am looking for is to have the ability to add n number of child nodes to this control from the design surface and then access their values from the code. So adding to the control stated above.
i created a user control called userCon.asxc. may i know how do i do when i click on button1, then the userCon.asxc will load into panel1?
I checked on internet, but found only those loading the user control to page when execute. What i want is to load user control into panel1 when button1 is click. .
I bind to the Repeater through the myRepeater_Load event handler. My custom control is used to render an item within the Repeater. Because of this, I am trying to set properties on the custom control during the myControl_Load event handler. However, I do not know how to access the current item during the myControl_Load event.
Is there a way I can pass along the current item or access the current item during the myControl_Load event? If so, how?
I have a user control that needs to load a child control when a button is clicked. The trouble is that it has to request the control from another class.
So in the button click event, I call the function to get me my control, and add it to the page, like this:
I have a user control (uc1) which inherits from uc2. uc2 has a user control (uc3) declared in the markup. I am trying to access uc3 from uc1 but I get NullReferenceException. I thought due to inheritance uc3 would instantiate but looks like I am missing a step.
Clarification:
How does the child user control inherit the markup from the base class? The server controls in the base user control are null in the code behind of the base user control. Why?
so I have this custom user control, just some data inside divs with a fancy css.
So inside my page I need to add it multiple times, and I do so in code behind within loop.
Now, this code doesn't work
[Code]....
and of course it works fine now. My questions would be - why? can I do it without pecifying file name and just creating control the normal way like in first example?:S
I have a usercontrol which has a combobox inside it.
This UserControl is the inside an asp panel - and when the panel is visible, the dropdownlist within the control binds to its datasource and behaves itself.
When the panel visibility is set to false, the dropdownlist within the usercontrol is empty.
I'm trying to cache user controls and on some pages i want to cache single objects. There are multiple ways of implementing caching, and my head is breaking over it.
The way I see the caching options now:
You have the PartialCaching option which is set to cache the control for 30 minutes, and after that it clears itself... You have the varyByParam to identity the page by its querystring paramaters... or other vary options
But i just cant find an appropriate way to add caching to a control, and be able to clear the caching programmatically when i update one of the objects used in the control from the backend.
You can do HttpContext.Current.Cache.Insert(), which accepts a key on which you can destroy the caching item later by using remove... This can save objects in cache but can you use options like varyByParam?
My questions are burnt down to two:
Is there a way to clear the caching on specific user controls from the code? If yes, can this be done according to the varyby options? How would the object caching respond to logged in users or anonymous users using Insert()?
EDIT: I'm caching multiple things.... And I'm really flabbergasted in which choice to make referring to caching. Can the Cache.Insert be varied by Parameters?
The main problem is peopling editing things from the backend, which needs to trigger an event that reinstantiates or clears all caching items referring that object.
Situation: I have a drop down list which I need to pass on to a webservice on button click. I am using Sys.Net.WebServiceProxy.Invoke to make webservice call.
Everything is happening inside a usercontrol which loads on runtime using dynamicpopulate extender.
I get following error:
Sys.InvalidOperationException: Cannot serialize object with cyclic reference within child properties.
Situation: Usercontrol also has a listview which is bound to dataset. However on calling listview.DataBind() in side the webservice method.
I get following error:
The ListView control 'ProductsListView' does not have a naming container. Ensure that the control is added to the page before calling DataBind.
There is no problem when call to service method is parameter less and listitem is not bound.
i have a page it contains a User Control. in it we have a Button "View Tree" it will open a pop up window (contins a tree view).when we select any node in the tree the Corresponding item will be Loaded in the User Control and Close the Popup.i want to achive this With out re loading the total page. i am using VS 2008.
Wasn't quite sure where to post this, seems like the issues could be any number of things, so I'm trying to keep it general... mods, feel free to relocate appropriately.
I am trying to build a page which will load various web user controls dynamically in response to menu selections made by the user, and then allow other interactions inside those controls (such as gridview manipulation and updates). The content page simply has a loginview, an ASP:Menu control, and an ASP:Placeholder. The placeholder is filled by the appropriate user control in response to the menu selection. Selecting a menu item causes a postback and the correct control is loaded as expected.
I realized that using dynamic loading with interactive controls would be a problem with respect to postbacks, so I added a ScriptManager to the content page and enclosed the gridview controls in the web user controls within UpdatePanels, thinking that all postbacks required by the GridView would be handled inside the UpdatePanel and not cause the parent page to refresh (which would then wipe out the dynamically loaded control). However, it does not seem to work this way. Instead, although the control containing the GridView loads correctly and displays data, when I attempt to page, edit, or select any item on the GridView, nothing happens on the first click. If I click on any item inside the control a second time, the entire page refreshes and the control and its contents disappear.
I have removed all the code inside the web user control and placed it directly into the content page to test, and everything functions correctly in that case. I think therefore that I must be missing something with how the user control is working, particularly with respect to the UpdatePanel. Is it just not possible to use an UpdatePanel to confine actions inside a user control that would otherwise cause the entire page to postback, or am I missing something somewhere?
I have datagrid. i loading data to grid from user control like below
[code]....
when i click the button Show child item. all the child item are displaying except one. for first child item not displaying, but one of parent items is displaying inside child grid.
it seems like previous parents data is loading to one of child record. How can i prevent that?