C# - Dynamically Added Controls End Up Wrapped In A Generic Type?

Dec 7, 2010

I'm writing a formbuilder for our CMS which dynamically loads bespoke controls into panels within a repeater.

The bespoke controls all inherit from, lets say 5arx.FormBuilder.FormControl, a base class which defines abstract methods for initialising, validating, repopulating, gathering submitted data from them. Controls range from simple text fields to complex, composite client-side controls.

It all works very well, but I've noticed something I feel is anomalous. During the course of writing code to retrieve form controls. gather their data and persist it to my database I noticed that their type reverts to the way objects get typed if you write your code in the (v. irritating) VS 'website project' mode.

So, for example a control that is defined as living in a namespace and being of type

5arx.FormBuilder.FormControl.MyBespokeControl
Sarx.FormBuilder.FormControl.MyBespokeControl

at runtime reports its type (via simple call to GetType()) as being of type:

ASP.5arx_FormBuilder_FormControl_MyBespokeControl
ASP.Sarx_FormBuilder_FormControl_MyBespokeControl

Getting the BaseType property will correctly retrieve the underlying class, but it is perplexing to me why this should be happening. Particularly as I spent much of the summer refactoring our app from its original form as VS Website project (complete with shared code in the App_Code folder and other nastiness) to the (IHMO) correct web application project + supporting claass libraries so that we would have control over our namespaces and not get everything compiled into the ASP.x namespace

EDIT: Modified the (hypothetical) example root namespace.

View 1 Replies


Similar Messages:

Custom Server Controls :: Using The Generic Type 'System.Collections.Generic.IEnumerable' Requires '1' Type Arguments

Nov 25, 2010

I'm trying to create a control out of a class I found, and one of the overridden functions is the following:

protected override void PerformDataBinding(IEnumerable data)

However, when I try to build the control I'm getting the error as shown in the subject. I've tried searching, and it seems the signature for the original function matches the one I have, and all other solutions I've seen uses the same signature.

View 3 Replies

C# - How To Create A Generic/parent Type That You Could Send To Methods Without Having To Define An Overload For Each Type

Mar 5, 2011

I'm trying to create a validation layer that will contain methods to validate all my objects (in my Business Objects layer) .. but when I try to reference both the validation and business objects to each other I get a circular dependency error .. so I've decided to create a new layer (BLL) to validate the objects for me and I'll be able to reference both the validation and the object layers.

so I want to build some kind of class/interface -I don't know what fits more- to be like a generic type or a parent type that my method could accept it as a parameter and check for it's Name/ID property. Instead of defining a new method overload for each object type I have
Simplification

View 1 Replies

Cannot Find Selected Value Of Dynamically Added Controls In Repeater / How To Dynamically Add The Controls

Jan 11, 2011

I am creating a survey page that has a list of questions and answers that can be radiobuttonlists, checkboxlists or textboxes. These controls are added dynamically to a Repeater in its ItemDataBound event using Controls.Add.

I've managed to render the page ok but when I submit the form and iterate over the controls in the repeater to get the selectedvalues of the radiobuttons and textbox values, FindControl returns null. What do I need to do to get get the selected values? I've tried iterating over the RepeaterItems but that returned null too. I've tried different types of FindControl but it never resolves the control types.

It works if I add a declarative DataBinder in the Repeater like this

<asp:Repeater ID="rptSurvey" runat="server" Visible="true" EnableViewState="true" >
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Question") %>
</ItemTemplate>
</asp:Repeater>

However, I want want to dynamically add the controls but in doing this i cant get the selectedvalues when submitting. This is tha main structure of my code...

[code]....

View 1 Replies

DataSource Controls :: Objectdatasource With A Generic Select Method - How To Pass The Type

Mar 14, 2011

[Code]....

[Code]....

The GetList method is as folllowing:

[Code]....

Now i can populate my gridview trough code by this: //gvwDiensten.DataSource = new BindingList<diensten>(dataManager.GetList<diensten>().ToList());But i would like to use an objectdatasource, so i created this:

[Code]....

</asp:ObjectDataSource>

But when running the page i get:

ObjectDataSource 'dsDiensten' could not find a non-generic method 'GetList' that has no parameters.

View 5 Replies

Getting Values From Dynamically Added Controls In C#?

Jul 12, 2010

I have to dynamically create controls and add them to a table. In a button click I need to find the value entered for that control. The control ids are also dynamic. Below is the code I tried.

[code]....

the problem is that i m getting the rowcount=0 of the table tblUdf inside which i added the table rows and controls inside the table cells.

how to get the control values of the dynamically added controls.

View 2 Replies

C# - Unable To Get IDs Of Controls Added Dynamically?

Feb 7, 2011

I am just trying to add some dynamic controls to the SimpleQueryControl (which of course is a kind of Web Control and inherits all the methods accordingly). I dont know how to get the values of Child controls which I have added dynamically.

class RoomPickerQueryControl : SimpleQueryControl
{
protected override void OnLoad(EventArgs e)
{
if (!Page.IsPostBack)
{
EnsureChildControls();
mColumnList.Visible = false;
}
}
protected override void OnInit(EventArgs e).............................

View 2 Replies

C# - Controls Added Dynamically Not Visible From The Code Behind?

Jul 7, 2010

I'm adding a dynamically built set of checkboxes to an asp.net page from the code behind with something like this in a recursive fashion:

pnlPageAccessList.Controls.Add(myCheckboxControl);

The controls show up fine on the page, but they don't show up when I view source, nor can I access them from the code behind.If I add the controls in the on_init method, they work. But I have some business rules driving changes to the list of controls itself that require I fire the add method elsewhere. Has anyone seen this before? I'm away from work so I can't copy the exact code.

I have two terrible ideas for how to get it working. One involves some jQuery and a set of hidden controls holding a big array of integers; the other is run the method on_init AND on my other events so the controls at least show up. Both smell like ugly hacks.

View 4 Replies

Get Values Of Dynamically Added Controls In ListView?

Sep 16, 2010

I am having trouble getting the input values of dynamically created controls in a ListView.

Here is my ListView:

[code]....

The textbox is found, but there is no value. It's like I just wrote over the textboxes with new ones in the previous block. If I remove the previous block of code no textboxes are ever found.

View 2 Replies

C# - Getting Dynamically Added Child Controls To Display In The UI

Dec 20, 2010

I am trying to create a RadioButtonListWithOther class that extends the RadoButtonList but I can't get the "Other" textbox to render on the page. When I step through while debugging I can see the control in the parent control's Controls collectio but it still doesn't render.

public class RadioButtonListWithOther : RadioButtonList
{
private TextBox _otherReason;
public RadioButtonListWithOther()
{
_otherReason = new TextBox();
_otherReason.TextMode = TextBoxMode.MultiLine;
_otherReason.Rows = 6;
_otherReason.Width = Unit.Pixel(300);
_otherReason.Visible = true;
}
protected override void CreateChildControls()
{
this.Controls.Add(_otherReason);
this.EnsureChildControls();
base.CreateChildControls();
}
protected override void OnSelectedIndexChanged(EventArgs e)
{
_otherReason.Enabled = false;
if (OtherSelected())
{
_otherReason.Enabled = true;
}
base.OnSelectedIndexChanged(e);
}
public override string Text
{
get
{
if (OtherSelected())
{
return _otherReason.Text;
}
return base.Text;
}
set
{
base.Text = value;
}
}
public override bool Visible
{
get
{
return base.Visible;
}
set
{
//Push visibility changes down to the children controls
foreach (Control control in this.Controls)
{
control.Visible = value;
}
base.Visible = value;
}
}
private bool OtherSelected()
{
if (this.SelectedItem.Text == "Other")
{
return true;
}
return false;
}
}

Here is my code to add an instance of this control to the WebForm:

protected override void CreateChildControls()
{
var whyMentorOptions = new Dictionary<string, string>();
whyMentorOptions.Add("Option 1", "1");
whyMentorOptions.Add("Option 2", "2");
whyMentorOptions.Add("Option 3", "3");
whyMentorOptions.Add("Other", "Other");
mentorWhy = new RadioButtonListWithOther
{
DataSource = whyMentorOptions
};
this.mentorWhy.DataTextField = "Key";
this.mentorWhy.DataValueField = "Value";
this.mentorWhy.DataBind();
Form.Controls.Add(mentorWhy);
base.CreateChildControls();
}

View 1 Replies

Web Forms :: Formatting Layout Of Dynamically Added Controls?

Sep 27, 2010

Ihave the following code and would like to be able to control the layout of the textboxes and labels so they arent just in a long column. Right now everything works and controls are added, but they are added in 1 column which if you chose 32 from the dropdown the page becomes very long.. so would like to maybe wrap them across 3 columns so that each has at least 10 per column.

[Code]....

View 9 Replies

Web Forms :: How To Retrieve Values From Dynamically Added Controls

Feb 18, 2011

In My page i have a ajax Combolist Box in which if i select any no it generates some controls

here is my code

[Code]....

[Code]....

[Code]....

[Code]....

Now i want to retrieve all the values Entered By the user in the textBox on btnSubmit_Click

View 1 Replies

How To Give User Controls Unique IDs When Added Dynamically

Jan 30, 2010

I have a user control, which is added dynamically, but I have noticed that when it is on the page and viewing the source that none of the controls within have been given unique ids. How do I give my user control and the controls within unique ids in order that I can use them in my events?

View 5 Replies

C# - Save Files From Dynamically Added FileUpload Controls

Jan 15, 2011

I'm building an ASP.NET UserControl where users of the website can upload several pictures at once. I'm doing it the old fashioned way by letting the user enter the amount of FileUpload controls wanted and then add them dynamically from C# to a asp:Panel control.

While this works, the values/files from the FileUpload isn't stored for when the user clicks the "Save" button. How exactly do I go about this problem?

My code for specifying the amount of FileUpload controls wanted:

[code]....

View 1 Replies

Controlling Layout Of Dynamically Added Controls In Panel?

Feb 3, 2011

I'm adding a serires of asp:literal and asp:textbox controls to a panel in code as below (the eventual aim being to add only some of the controls depending on the user):

[code]....

How can I control how the panel is rendered, preferably without having to create a custom control?

View 3 Replies

How To Handle Events In Dynamically Added User Controls

Sep 27, 2011

I am trying figure out how I handle events in a dynamically added user control. Basically I can add user controls dynamically to my form (I am then storing them in an ArrayList in a Session variable that I use to reload them on my Page_Load). Each control has a button on it. However, whenever I click the button, the event never fires (code is never reached). I assume it has something to do with the control being dynamic, and when I click a button, it goes out of scope, and when I reload it something is lose in the event handling.

Here's my code for adding a user control:

Code:
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim alContact As New ArrayList
If Not IsPostBack Then
' Dummy controls for testing
Dim oContact As New ASP.ContactControl

[Code] ....

View 5 Replies

Web Forms :: Persist Dynamically Added User Controls Between Postbacks?

May 6, 2010

I have a C# web application that dynamically adds user controls to the default page for whatever "mode" the application is in. The problem is that it is not persisting these across postbacks. How do I persist these across postbacks and keep the content of the controls that are in the user control?

For instance, say I have a user control that creates a new tour record. The user clicks on the Tour item from the menu on the default page, it dynamically loads the tours user control. The user then fills out the form in the tours user control and clicks save. This is where the problem happens. When the postback occurs, the web application has no idea that the new tours user control was ever loaded. So, no save takes place because the Save button's click event never even gets fired.

View 11 Replies

How To Create A Submitable Form That Contains Dynamically Added And Removed Controls

May 20, 2010

I am trying to create a form that is made up of controls with values that represent an entity with multiple child entities.

The form will represent a product with multiple properties where the user will then be able to create options with multiple properties which in turn be able to create multiple option-items with multiple properties.

My question is what is the best approach? Can i use ajax to avoid postbacks and having to rewrite the controls to the page? If i dynamically add the controls in the form of table rows or grid rows will the data/control values be available in the code-behind when i submit?

This is an age old question.. the last time i had to do this was .Net 2.0, pre-ajax (for me) and i was forced to recreate all the controls on each post back.

View 1 Replies

Life-cycle Dichotomy: Dynamically Added Controls And Events?

Sep 1, 2010

The situation:

I have user controls with buttons that have hooked events. Controls with events need to be initialized in Page_Load or earlier.

I wish to spawn these user controls dynamically by clicking an Add button.

It is important to remember that events, such as click events, are not fired until just before Page_LoadComplete.

Broken Solution A:

[code]...

Result: Everything works great, except the button within the added user control is inert.

The conundrum is: I need controls to spawned by a button click, which means I need to put my Controls.Add(...) code in Page_LoadComplete. Inversely, I need the controls being added to have working events, which means the Controls.Add(...) code need to be in Page_Load. I have a perfect dichotomy.

View 1 Replies

Forms Data Controls :: Add Align Attribute Which Is Added Dynamically?

May 28, 2010

I have created listof gridview table cells dynamically.

Each cell is having different gridview.

As Gridviews are having different no of rows, they are not alligned properly.

I want to allignment property to top of the cell.

View 10 Replies

Web Forms :: How To Maintain Viewstate For Dynamically Added HTML Controls Using A Javascript

Mar 8, 2010

How to maintain view state for the dynamically added html controls to a table using javascript(Below is the javascript which I am using to add HTML Controls Dynamically"). Because during the postbacks if I found any error while validating the data present in the dynamically added html controls, the controls are loosing their state and again I need to start adding rows and add data.

[Code]....

View 3 Replies

Web Forms :: Unable To Maintain Viewstate Of Dynamically Added User Controls

Apr 24, 2010

I have ONE <asp:Button ID="btnAddUC" runat="server" ......./> and ONE <asp:Table ID="tblUC" runat="server"...> on my page. User clicks on btnAddUC, user control is added to the page [user can add 'n' user controls to the page]. here I have no problem, adding user controls to the page on user clicks.

My user control has ONE <asp:DropDownList ID="ddlItems" runat="server" ......./> and ONE <asp:CheckBoxList ID="chkItems" runat="server"..../>. I am exposing "ddlItems" by public method, "chkItems" is not exposed. "chkItems" is binded on SelectedIndexChanged event of "ddlItems".

Execution scenario:

User adds user control to the page, select item from the "ddlItems" ( Note: "ddlItems" is exposed by public property ) , "chkItems" is populated ( using ddlItems.SelectedItem.Value ) . User checks some checkboxes in "chkItems" and then decide to add one more user control. When the second user control is added to the page, checkboxes in the first usercontrol lose their state and apeears unchecked (NOTE: user checked some checkboxes and then added another user control).

I want to put checked beckboxes index in session ( Before another control is added, which event I should use, because at LOAD event there is nothing).

I was able to restict SelectedIndexChanged event to only that user control whcih generated it (checking _EVENTTARGET)

View 9 Replies

Forms Data Controls :: Access Dynamically Added DropDownList In GridView?

May 18, 2010

I'm dynamically adding a DropDownList to the GridView in edit mode and I have set the TextBox Visibility to False. In edit mode I can see the DropDownList and I'm able to select an Item from the DropDownList but not able to access the SelectedValue in RowUpdating Event. How to get the selectedvalue of this DropDownList?

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow And (e.Row.RowState And DataControlRowState.Edit) > 0 Then
Dim ddl as DropDownList
FillStateList(ddl)
e.Row.Cells(4).Controls.Add(ddl)

ddl is the DropDownList that is added dynamically. And the default Textbox that is in the Edit mode is set to invisible. So there are actually two controls in the same cell in edit mode(TextBox is invisible).

DirectCast(Gridview1.Rows(e.RowIndex).FindControl("ddl"),DropDownList).SelectedValue

If I use the above statement I'm getting NullException.This is Probably because its a BoundField. Is there a way I can access the DropDownList 'ddl' SelectedValue?

View 4 Replies

Forms Data Controls :: Setting Height Of Linkbuttuon Which Will Added Dynamically?

Jun 18, 2010

[Code]....

I am adding linkbutton dynamically (actually above snippet tells what I am actually doing, in reality TableRow and TableCell are added dynamiccally). My problem is, I am not setting height of linkbuttuon which will added dynamically. I have no idea what text I have to add to linkbutton.

What I want, after all the link buttons are added, iterate through each added lin button, get the height of each linkbutton, store the max height, then re-iterate throgh the link buttons and set the height of each link button to max height.

View 5 Replies

Data Controls :: Unable To Bind DropDownList When New Row Is Added Dynamically To GridView

Oct 9, 2012

* i binded dropdown value from database in gridview

* then display the value in next column based on selecting dropdown value

* when  i click add new row button . could not bind the dropdown value.

below are my code

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<contenttemplate> <asp:Label ID="Label1" runat="server" Text="2"></asp:Label>
<asp:gridview ID="Gridview1" runat="server" ShowFooter="true" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="RowNumber" HeaderText="Row Number" />

[code]....

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved