Web Forms :: Dynamic Control Creation In User Control?
Apr 19, 2010
i developed a custom control (inherited from System.Web.UI.UserControl) which is used within a Gridview's TemplateField:
<sc:MyControl
runat="server"
id="my_ctrl"
AllowEditing="true"
NumberOfControls='<%# Eval("Count")%>' />
"Count" is an integer value from the GridView Datasource.
Based on this value i have to create some LinkButtons dynamically in my custom control (in Page_Init), which works very well when the value for NumberOfControls is hard-coded.
My problem is that the value of "Count" is not available (NumberOfControls = null) during Page_Init and therefore i can't decide how many controls there should be generated.
Is there any way to pass databinded values to custom controls so that they can be used earlier (as if the values were hard-coded)?
View 2 Replies
Similar Messages:
Oct 3, 2010
I want to dynamically add a web user control to a web form. Everything I've read so implies that I should be able to use the PlaceHolder web server control for this, yet I cannot this to work. I've created a simple test to just try to master this concept, yet I can only get non-web user controls added. Can anyone tell me what I'm doing wrong? Below is the entirety of my code.
.aspx Page:
[Code]....
.aspx.cs Page
[Code]....
.ascx for TestControl
[Code]....
.ascx.cs for TestControl
[Code]....
View 8 Replies
Jul 28, 2010
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
View 2 Replies
Jan 25, 2011
I have a user control (i.e. ascx) that comprises of two related list boxes (i.e. once you change the selected item in one list the contents of the other list update). I'm adding this user control dynamically to a page on the click event of a button (i.e. using LoadControl).I wish to set the list box datasource properties, as well as the default selected item of the parent list from my parent page so I created public properties in my user control to accomodate this. I also created an event in my user control that notifes the parent page when the selected item changes in one of the list boxes so I can update the contents of the other list box.
I understand that I have to recreate the user control on every postback in order for it to function correctly but I'm not sure exactly how I should be doing it. I've shown below what I have currently - whilst it works the problem is that on postback I'm always creating the user control with all its default properties and then updating the properties that need to change(?). For example, when the choice in theparent list box changes the datasource of the list box is set twice (once in AddControl and then again in OnParentChanged)? As the contents of the list boxes originate in a database it means I'm making unnecessary calls to the database (unless I do some something like store each unique set of data in the ViewState).
I'd be very grateful if someone could review how I've done things and illustrate how perhaps I should be doing things. I'm not sure if the way I've done this is considered the 'correct' way. For example there may be a better way of doing things would avoid setting the properties twice? I'm a bit unsure of the way I've set the datasource properties of the list boxes and bound them. I wished to set the datasource from the parent page because I might have a second user control on my page that may also use the same datasource and I could reuse it (as opposed to each control making its own call to the database) so I'd like to keep this feature if possible.It would be great if posting code in reply that you use my example as a guide so I know what you're referring to.Here's the code for my user control:
[Code]....
[Code]....
Here's the code for my containing page:
[Code]....
View 1 Replies
Dec 13, 2010
I am dynamically loading user controls into my main page on button event.The user control has a textbox and a gridview When i enter data in textbox , the autopostback event fires and loads data into the gridview. when i load another instance of user control and do any post back the gridview data is not persisting.Until and unless I bind the data, gridview is not having any data after postback.This is creating issue when I al updating a row in gridview as data is not persisting after postback.
View 8 Replies
Jun 4, 2010
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?
View 1 Replies
Jan 7, 2010
I am in need of some assistance in regards to how to best set the values of properties for a Web User Control which is being included into a cell of a GridView with dynamically created columns. I have tried a few different approaches, but can't seem to get a satisfactory result. Also, to be completely honest, I am not really sure if I am using best practices for what I am trying to accomplish.
First off a little background:I have a GridView for which we will never know the exact number of columns at run time. The columns are predicated by user selection. I am creating the command text for the DataSet on the fly and then looping through the columns of the resulting DataTable in order to use custom TemplateFields. This works ok for just printing out the row values but not so much for when I need to insert the Web User Control into a cell.The Web User Control is in essence a collection of image links which are used as a "Quick Nav" tool. I need to pass the values of 2 fields from each DataRow to the control via properties (for example, CustID and ProductID). I am using custom TemplateField classes inheriting from ITemplate for displaying my fields and extending the DataBinding event like so: [Code]....
This won't work for my User Control as DataBinding is called after the control is loaded into the page and I need the properties to be set before the Page_Load event of the control is fired.Is there a GridView event I should be looking into instead such as RowCreated or RowDataBound? Or should I modify how I loop through the DataTable by doing rows first, then the resulting columns as I've seen done elsewhere?
View 5 Replies
Dec 26, 2010
i want to create a dropdown control in which i want to bind data from my webservice, i know i have to create a custom server control with inherrit the System.Web.UI.WebControls.DropDownList in my class.
my problem is that i dont know how to bind data(say a datatable dt) from dt and further disable the datasource property and item.insert property so that no other data could be enter in this control.
View 3 Replies
Mar 15, 2011
I have a user control which I am dynamically loading in my page_load event via a method (see below). The user control contains a gridview and a label. A key piece of information has to do with how to get around the convenient feature of gridviews not rendering when their datasource is empty. In my user control I add some hidden rows so that the grids will render and the user can see just the headers (if the situation calls for it).
The nomControl is an asp:Panel on the parent page which will hold the user controls. The dsRefinedProductsNomInfo is a strongly typed dataset.
[code]....
how I should be handling my events so that my rendered grid is up to date and not showing these hidden rows. I have a feeling I am just doing things in the wrong place/order but this is my first real swim in the deep end of the asp.net pool.
View 1 Replies
Sep 10, 2010
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?
View 5 Replies
Feb 22, 2010
using the control in web application.
View 1 Replies
Feb 17, 2011
I am trying to assign user control from another user control ..first time its binding control successfully but when we refresh the data its giving error
saying "Object reference is not set an instance".
how to refresh data from another user control ...
My senerio below :
1 Aspx page
2. User control
calling usercontrol databinding method from aspx page but once it get refreshed ,not allowed to bind it again..
View 2 Replies
Nov 16, 2010
I'm customizing a NopCommerce store, and am using a gridview to display and sort the products. All that works well. I like how the external pager (user control) works with the gridview, with one exception -- it uses the hyperlink control, so I lost viewstate, which I need to retain for both the search page and to retain the gridview sort options. Based on the page selected (from the pager control), I query the database and rebind the gridview. So, I switched the user control to use LinkButtons instead of Hyperlinks. This is the sample code for one of the buttons:
[Code]....
I set a breakpoint inside the lbCommandClick method, but it never gets hit. Reading other posts tells me that I would have to add the dynamic controls in the OnLoad method, but since this all happens based on other data on the page (say search results), I don't think I can do it onLoad. However, the link buttons do work to cause a postback, and my viewstate is saved correctly. The only problem is that I do not know which button was clicked. I could check Request.Params["__EVENTTARGET"] onLoad, but that is kind of a hack -- I'd much rather be able to set the event handler in the user control and use the CommandArgument property. But, what I have tried so far fails.
Especially one that would allow me to set the EventHandler in the User Control? (e.g. OnlbCommand="PagerLBPageChange" )
View 3 Replies
Oct 28, 2010
I have an aspx webpage in which an user control is added dynamically as follows:
UserControl testUsrControl = LoadControl("TestUsrControl") as UserControl;
testUsrControl.ID ="test";
Then I tried adding an event handler of user control inside aspx like below:
testUsrControl.Drpdatafield_SelectIndexChanged += new EventHandler(this.Drpdatafield_SelectIndexChanged);
But this line is giving error at **testUsrControl.Drpdatafield_SelectIndexChanged **. The error is "Drpdatafield_SelectIndexChanged" doesn't exist in UserControl.How can get the testUsrControl's events inside aspx page dynamically.
View 1 Replies
Jun 8, 2010
I am using two user controls in my page. The controls are loaded dynamically one at a time. I'm just referencing the user controls in the page and loading them dynamically using 'LoadControl()'. Everything is working fine till now and the user can switch the controls one another.
Here the issue I found is eventhough the controls are working as expected and the data is visible, the rendered HTML contains only the first loaded user control's markup.
Even if the current control displayed is 'usercontrol2', the source shows 'usercontrol1' markup. How can I force the page to render 'usercontrol2' markup and remove 'usercontrol1' markup while loading'usercontrol2'?
View 6 Replies
Jan 8, 2010
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?
Psuedo-code for the issue below
Content page
[Code]....
Control
[Code]....
View 1 Replies
Jul 15, 2010
I have created a user control which is inside a folder called Controls and the class is a partial class which inherits from Web.UI.UserControl. Now from my page which is one level up I just try to access the method inside the usercontrol and so trying to cast it as the type of user control. But I get build errors. It just cannot recognize that class. I get Type not defined error. But at times it has recognized the class. Dont know why it does that.
View 1 Replies
Dec 1, 2010
I'm using Microsoft's PivotViewer control in one of my Silverlight projects. I'm creating a JIT collection and was hoping to dynamically generate the images based on the rendered result of a WPF UserControl. In order to generate the images I'm using an HTTP Handler to serve the images up dynamically.
how I might best go about this. It's all quite a mashup of technologies and a bit difficult to know where best to begin.
EDIT: I have found a guy that's done this in ASP.Net MVC here -
View 1 Replies
Feb 4, 2011
In my application i placed a button.While clicking on button i need to generate one dynamic textbox.For every click i need to generate textbox. Ex: For the first time if i click on button i need to generate textbox.If again i click on the button i need to generate one more textbox.
View 2 Replies
Oct 27, 2010
I have a table created on the front end of my code called "tblSearchlist". In my code behind I have the following.
[Code]....
All this code works fine. What I want to do now is insert another dynamic table within cell1. Any ideas how to do this. This process can be done on the front end like so but I need it in code behind.
[Code]....
View 1 Replies
Apr 16, 2010
All I would like to be able to do is include one user control within another! Is this possible? I have spent the last hour searching the internet and it seems that I can't find a single thing.
In classic ASP it would be something like:
<!--#include file="EditProject.ascx"-->
I tried this but no luck!
Parser Error Message:
There can be only one 'control' directive.
Source Error:
[Code]....
Line 1: <%@ Control Language="VB" AutoEventWireup="false" CodeFile="EditProject.ascx.vb"Line 2: Inherits="Controls_WebUserControl" %>Line 3: <form runat="server">
View 3 Replies
Mar 11, 2010
I just created the checkbox dynamically from database,but i can't access the individual checkbox value.
[Code]....
here i'm getting the checkbox, but can't access the individual checkbox value other than that i need checkbox to be displayed rowwise.
View 3 Replies
Jun 27, 2010
I am developing an asp.net website and i want to dynamically add buttons on the web page and add attributes to the buttons.
View 11 Replies
May 15, 2010
I am developing an medical Application. This application has 3 Types of users. In this application I have to use a single master for displaying menus and i have to change the menus based on the user. Since i have to use ul, li tags to create menus. How can i set the Text for this li tags in server side.
View 3 Replies
Nov 16, 2010
I have registered a custom MembershipProvider class in my Web.Config file. I'm using Inversion Of Control using Castle Windsor and I have registered my custom MembershipProvider class as transient (because it's using a service that's transient as well).
This means that I want the Membership provider instance recreated on every web request. Currently, it is created only once per application domain so when it tries to access the service it depends on, that service instance is reused while it is not supposed to.
Now I need to find a way of having Windsor control the lifetime of my custom MembershipProvider but I don't know how. I expected a factory sitting around somewhere in the .NET Framework, allowing me to override the instance creation and rerouting it to Windsor but I can't find anything alike.
By the way, I'm using .NET 4.0.
UPDATE: Here's some of my code so you can see what I'm doing exactly:
[Code]....
View 2 Replies