Web Forms :: Dynamically Load UserControl, Access Properties In Parent Page Without Recreating In PostBack
Nov 15, 2010
I have several usercontrols which are loaded based on business logic.However, all of them have webcontrols whose selected/entered value needs to be accessible in parent page on an event.Since there can be any combination of UserControls, I do not want to load all the UserControls in the Parent Page, since they are heavy.
I would like to load only those controls which are supposed to appear on the page, yet access the value from the usercontrol which caused the postback. (I would rather not access using Request.Form) (ViewState is open, but unsuccessful to store value in parent page's viewstate in onClick)Here is a sample scenario
Page: Home
Dynamically Loads: UserControls1
UserControls has TextBox tb and Button btn, causing onClick
When btn is clicked, I want to get value of tb in parent page on PostBack, Page creates UserControl2
For every row in my 'table' I am manually creating, there must be a LinkButton to delete a database row that matches a column in the table. Because no 2 controls can have the same name, I've had to use a GUID to name them so they're all unique.
Problem is, right now when I click Delete, the page posts back with no changes, but I've been told that I need to recreate the controls - but how do I recreate them in Page_Load when their ID's are randomly generated? Here's my code:
In a page , when I click a button 'showDialog' I am loading the user control dynamically in a dialog. I am linking to the event in the user control as explained below. The parent page is not receiving this event.
Button_Click(){ UseControl1 gc = dlg.LoadContent(:UserControl1.csx); gc.CausePostback += new EventHandler(execute_CausePostback());} execute_CausePostback(){ In UserControl class after clicking the submit button Submit_Click(){ saveRecord(); raise event CausePostBack();
Can anyone add a complete input about how to create Parent Property with multiple child properties or in short nested properties.
Example: Style tag: which has properties like font, color, display... etc? which accept objects and its value.
[code]....
As soon as Rainbow property is typed, user should get intellisense for list of number of colors. Then accordingly user can select list of those colors and assign a value to them.
I have UserControl that has asp control(<asp:Button runat="server" ID="btn" />) and I want to render it. I tried 1
[Code]....
It doesn't works because it says that each control that has runat="server" must be in Form.I also tried 2:Because loader.Form is null, I create HtmlForm and added the ctrl to it and then added HtmlForm to loader's Control, BUT it says that it has 2 HtmlForm. So, instead I "injected" HtmlForm to loader like this [Code]....
Now no error is occurred, BUT StringWriter is empty. don't tell me to add Page to solution and override OnRender. I want to do it as I mentioned above.
When it comes to the usercontrol specially when they are loaded dynamically on the basis of certain conditions then it becomes a very confusing work. I have read in many forums that the dynamic controls have to be loaded in OnpreInit or OnInit. Some of those links are[URL] But this is useful only when if the we know that we have to load UserControl1, UserControl2 without considering any conditions. But what if I have a Tab control and for each Tab Click I have to load the UserControl dynamically. In that situation how can we add the control in either OnPreInit or OnInit. If I am not mistaken then in such case, then we can add usercontrol in certain events. If we are using a TabControl then we load in Tab_Click , if we are using Menu Control then we use Menu_Click and depending upon the particular tab or Menu we load associated usercontrols. Hence in these conditions, how can we go with the logic mentioned by above links. I have this confusion for very long time . I am posting little portion of my project here. I am using RadTabControl but it doesnt matter if it is Microsoft TabControl. In the aspx, I have a code to define RadTabControl.
In the code behind, I am loading usercontrol on the basis of the particular TabClick. tabMeberDetails_Click fires whenever I click on the tabs.ViewState["ControlName"] stores UserControlName on the basis of certain condition and finally i load the usercontrol.
proteced void tabMemberDetails_Click(object sender, RadTabStripEventArgs e) { Conditions...... { ViewState["ControlName"]=........ } viewDef=ViewState["ControlName"] UserControl control = (UserControl)LoadControl("~/Controls/" + viewDef + ".ascx"); after this I add control to the RadTabStrip.................. and call bind method......... }
As you can see from above, I am loading my usercontrol in tabMemberDetails_Click event. I see no other choice to do it in OnPreInit. Can anyone answer if this is the right way to do or there is another way that complies with the logic in the links given above.
I am trying to add UserControl dynamically to the page. UserControl is added only once (when the page loads) but on postback it doesn't add again (Only one control is alwasys there).I want to add user control Whenever user clicks "btnAddUCWingControl" so when the page loads for first time, there will be only one control, on postback there must be TWO controls and so on
I want to use same functionality in Ajax:Accordion. Looking for the code for this as well as instead of label in user control i want to bind the grid view.
i have created a usercontrol that get some input from the user in the textbox. now i want to get that value in my page containing the same user control.
I have a page for webparts and have a usercontrol in the declarativecatalog. The user control had a gridview. I need to click (select) an item (row) in the gridview and change the selected value of the DDL in the parent (I guess this is the appropriate term) page.
i put asyncfileupload in usercontrol,and i load this usercontrol dynamically,but uploading process do not works. please help me.how to upload image (usercontrol dynamically) and i show this image after upload.
My default page has a usercontrol that opens up a modal to allow updates. When the user closes the modal window I want the usercontrol that resides on the default page to update.
it looks like this
default.aspx has userControl1 user can open up a modal from userControl1 modal has textboxes for updating
when user closed modal I want to then refresh userControl1 on the default.aspx page without reloading the entire default.aspx page.
I need to insert some JavaScript code inside a UserControl that I load from an Ajax call via jQuery Ui Tabs. Let me explain... This is my View (with jQuery loaded)
<script type="text/javascript"> $(document).ready(function () { $("#tabs").tabs({ cache: false, }); getContentTab (1); }); function getContentTab(index) { var url='<%= Url.Content("~/Home/getUserControl") %>/' + index; var targetDiv = "#tabs-" + index; $.get(url,null, function(result) { $(targetDiv).html(result); }); } </script> <div id="tabs"> <ul> <li><a href="#tabs-1" onclick="getContentTab(1);">Nunc tincidunt</a></li> <li><a href="#tabs-2" onclick="getContentTab(2);">Proin dolor</a></li> <li><a href="#tabs-3" onclick="getContentTab(3);">Aenean lacinia</a></li> </ul> <div id="tabs-1"> </div> <div id="tabs-2"> </div> <div id="tabs-3"> </div> </div> With these lines of code I call the Ajax function to load the content into a DIV. This is the Action from the controller: public ActionResult getUserControl(int num) { return PartialView("TestUC", num); } And this is the UserControl... <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> Number... <span id="testSpan"><%=Model.ToString() %></span>!! <input type="button" value="Click me!!" onclick="message();" /> <script type="text/javascript"> function message(item) { alert($("#testSpan").html()); } </script>
The problem is that the message() function returns always 1 (instead of returning the correct number). My question is... How should I add the script to my UserControl in order to have my code running correctly?
i have a very strange issue with a user control we are dynamically loading on an asp.net web page(.net 2.0). the user control has 3 dropdowns, one of which has a selectedindexchanged event attached to it (which loads the third dropdown with a set of values).
the weird thing is, if there are currently any invalid fields (where field validators have been activated) in other parts of the form, when you go to select the drop down in question on the FIRST change it does nothing, but then when you change the index again it works perfectly! i dont understand how the event wont fire for the first change, but for every change thereafter.
However, if all these fields are filled in correctly above the usercontrol, it fires off the selectedindexchanged event correctly.
in regards to validation i have disabled ALL POSSIBLE validation in order to try and eliminate it as a culprit, so i dont understand how validation can be affecting the usercontrol.
How to get the parent page values from the usercontrol.I have a usercontrol in a page. On click of the usercontrols button i wanna get some values from the page after executing a method. i need those values in my usercontrol. What is the best way to get the results of the page in the usercontrol.
I am building a usercontrol which can display data with many flags. I would like to be able to able to declare it this way, or something similar to that from the asp.net page