Custom Server Controls :: Populate Property Choices From A Database?
Aug 19, 2010
I'm creating my first server control, and have it working where I can set up an enum and the user can set a property's choices, based off of that enum. But I'd like it to pull records from a database and populate the list of choices for the property from a database. This would allow me to add a new "Host System" to the database, and the other designers wouldn't have to get a new copy of the dll.
The user control has public properties named accordingly and the page has protected properties accordingly which I've verified have the desired values.
For some reason the values are always empty strings or 0s in the usercontrol, no matter what the page property is.
Iam developing a custom checkbox control deriving from the 'compositecontrol' which i need to use it for a composite control purpose.
public class TngCheckBox : CompositeControl {
i have written the required properties which are working fine except the "checked" property. here is my code for 'checked' property. i tried both the below ways (commented one and not commneted) . the problem is the 'checked' value is not setting the value at the get set part of the property.its assigning the value at the design time , but when i check and uncheck its not updating the property value.which is resulting me wrong .
Iam developing a custom checkbox control deriving from the 'compositecontrol' which i need to use it for a composite control purpose.
public class TngCheckBox : CompositeControl {
i have written the required properties which are working fine except the "checked" property. here is my code for 'checked' property. i tried both the below ways (commented one and not commneted) . the problem is the 'checked' value is not setting the value at the get set part of the property.its assigning the value at the design time , but when i check and uncheck its not updating the property value.which is resulting me wrong .
I have a custom control, inherited from Button. This is the class definition for the control and 2 properties:
[Code]....
I show you 2 properties, only to illustrate the problem.
as you see Aplicacion property is of a custom type Sistema, and Roles property is of type List<UserRol>.
The Aplicacion property is rendered well, this way:
[Code]....
The problem I have is with List<UserRol>. I couldn't get it to be rendered. I expeect to be rendered this way:
[Code]....
Finally, this is the TypeConverter and Editor definitions for the list:
[Code]....
The UserRol class is a typical class, without any special attributes.
I have discovered that when I use the custom editor for Roles property, the collection is not persisted. When I use the default editor for the collection, the collection is persisted.
I have some (probably very basic) questions about developing custom controls. I am wanting to derive a set of button controls, and the first one I have started on is a "DeleteButton", that has a additional property (DeleteConfirmationText) that is built into the OnClientClick attribute. To get that added, I overrode the Render method as follows:
[Code]....
This all works well. Now, I will add some logic to make sure that there is some text in the DeleteConfirmationText property, but that isn't the intent of my question. What I am also wanting to do is to override some of the default property values, so I added that to the default constructor:
[Code]....
Now, in the designer in VS2008, and I look at the properties for the control, there isn't a default value shown in the "Properties" section, and the Causesvalidation still shows the underlying classes default value of "True". As well, in design mode, where the GridView control that containse my DeleteButton control would be displayed, there is an error box "There was an error rendering the control. 'Are you certain you want to delete this attorney?' cound not be set on property 'DeleteConfirmationText'. Here's the markup where I am defining the deletebutton control:
In my user control i have the label1,textbox1 and dropdown1, i can able to set the values and get for both label and text box. but how can i set the value for the drop down.
from the aspx.cs or aspx.vb
i will set the object of the control (Ex: usercontrol1234)
usercontrol1234.propText="This is text box" usercontrol1234.propLbl="This is Label "
Then how can i set for the drop down? i can bind the dropdown data either by dataset or datareader.But cannot able to figure out how to set the property?
It was my expectation that by default, the Title property would be stored in ViewState, but this appears not to be the case - the exception in RenderBeginTag keeps getting thrown on postback.
Am I being thick? Do I need to explicitly store properties in ViewState?
But I am not able to find the correct syntax.I tried it without an editor and returning the type "Color", but that just generates a dropdown with all of the known color names for the property. I would like the color picker to appear which allows you to see the colors and pick one.
i have created a new user control who contains a gridview so, my prolem now is that i want show all the property of the gridview included in the control, but i want not write like this:"Usercontrol1.GridView1.Datasource=...." but i want write "Usercontrol1.DataSource=..." and this also for other controls how can i do this?
Iam developing a custom server control of radiobuttton. it is working fine with the all the properties i wrapped except the grouping . somehow the grouping is not working .
The built in Asp.Net Controls (label, Textbox, etc.) all have a CssClass property that can be set, what do I need to do to implement that for a Web User Control?
I know how to add a property and pass thru the get & set to the corresponding Asp.Net control (example if I have a label I know how to create a LabelCssClass property that provides a get & set, but the control itself how do I set a CssClass or ClassName property.
How can I create a UserControl with a collection-type property which has a collection editor?
I've a CompositeControl with an ArrayList-type property which has CollectionEditor-type designer. You can see this property on Properties window with a "..." button which launches a collection editor. This works fine and all but I want to apply the same to a UserControl and I've couldn't manage to pull it off so far. I've done the same thing what I've done with my CompositeControl but the property either doesn't even show on Properties window of the UserControl or shows as a single value property with no "..." editor button.
I have created a class which inherits the HyperLinkField. I need to find the data values of the fields specified in the DataNavigateUrlFields property. I have not been able to figure out how to do this.
I have created an asp.net custom control and now want to pass some values to it from the page which will use the control.Is there any way i can add my own property to the control (like Text property is present for a Label control)?
I have a User Control (ascx) and a property which a want to display in my categories tab in Visual Studio in the category named "Styles".
[Code]....
And here is the problem: Actually I do not need a get, because I only have to set the property (write only property). But when I omit the get, the property is displayed in the "Misc" category in the categories tab in Visual Studio. Only when I code the get as well, then the property is displayed correctly in the "Styles" category in the categories tab in Visual Studio.
Does anybody know why? How can I display the category correctly only with set?
I'm creating an ASP.NET Control which has a property collection for Columns which the user can edit in the Property Collection Editor..
In most circumstances this works fine, the collection can be edited in the designer and the appropriate tags are added inside the control in the ASPX file.
It works fine when
My control is added to the form
[Code]....
My control is added inside an Update Panel
[Code]....
[Code]....
However, if My control is inside a Content Placeholder which is inside an Update Panel, it fails to work as it should. In this scenario, when the Columns collection is edited in the designer, if you then switch back to Source view, the Columns collection is emptied. I have to save the aspx page before switching back to Source view for the changes to be kept.
[Code]....
how to get around this problem? Is there something I may have missed?
If I want to be able to have a table Consultant, which is the user and their personal information, and I want this user to be able to select their proficiency in a number of Programs (software) on a scale from 0-5 (zero being no experience whatsoever), how do I do this best?
I mean I could have a Consultant table with a one-to-many relationship to a Program table, and then have all the limited Programs availalbe loaded by an XML file or something, and for each Consultant associate all the Programs and their Levels of proficiency. But that seems very wrong and inefficient.
It seems to me I should have a table with all the (limited number of) Programs, and then by some sort of association between the two by Ids. But I can't get my head around how to do this. I'm thinking many-to-many... But first, is this correct? Secondly, how do I do this in an Entity Framework Model? I usually create my database code first, i.e. create the EF model, and then generate database from model. Will I get a junction table where I can add the Level field, because basically a Consultant HAS A Program with a Level, or actually a list of Programs each with a Level.