i create a composite control as can be seen in code below, and add this control to webform, assign FormView1 to the HeaderControlName property, Run the page, the system will generate parse error message : Cannot create an object of type 'System.Web.UI.WebControls.FormView' from its string representation 'FormView1' for the 'HeaderControlName' property. However, if i don't assign FormView1 in design screen and manually (through coding) assign FormView1 to the custom control on init, it works as expected.
custom control public class CmdTest : CompositeControl { public virtual FormView HeaderControlName { get { object oObject = ViewState["HeaderControlName"]; return (oObject == null) ? null : (FormView)oObject; } set { ViewState["HeaderControlName"] = value; } } protected override void CreateChildControls( { Controls.Clear(); Button xx = new Button(); Controls.Add(xx); } } webpage.aspx (assign FormView1 in design time, it will generate error) <Utils:CmdTest ID="CmdTest1" runat="server" HeaderControlName="FormView1" /> webpage.aspx (didn't assign FormView1 in ASPX, but assign it on Init Code, it works) <Utils:CmdTest ID="CmdTest1" runat="server" oninit="CmdTest1_Init" /> Webpage.aspx.cs protected void BsCmdTest1_Init(object sender, EventArgs e) { CmdTest1.HeaderControlName = FormView1; }
I've got a composite control (class) that exposes an asp:Label through a get-property. Is is possible to set the Text property of the Label through aspx-code?
I'd like to do something like this: <cfw:MyCompositeControl runat="server" Label.Text="Test" />
One solution is adding each property to the composite class (like a public LabelText), but I'd like to set any property of any child control. So as new features of child controls become available, I'd like to be able to use them on my composite control. So basically I would like to set any property of the exposed child control.
I am writing a custom composite WebControl and want to expose styles of child controls it encapsulates to the ASP.NET designer. The code I currently have is similar to the skeleton below (which for simplicity only has one child control).
With the code below, I can see property "ChildPanelStyle" in the designer, but when I try to modify one of the properties (e.g. CssClass) in the designer, it immediately resets itself to its default value. It looks like the designer serialization isn't happening.
What am I doing wrong?
UPDATE
I've updated the sample with an additional style property that is managed directly by the custom control, rather than simply being the property of a child control.
The HeaderStyle property is persisted properly by the designer, but the ChildPanelStyle property isn't.
Of course I could manage all my styles like HeaderStyle, and apply them during rendering, but I'm hoping there's a simpler solution whereby child controls can take care of themselves, and I don't need any custom rendering.
I am trying to build a custom composite control, which allows me to add custom content to each child control. It's a similar concept to what you have with a GridView and TemplateColumn. The markup used to place the control on the page would end up being something like this:
[Code]....
I have the code below, which allows me to put that markup on the page without throwing any errors, and it renders all the correct HTML, except it doesn't render the contents of the ColumnTemplate. I have replaced the Render() code with a comment because it's quite long winded and doesn't add anything important here:
[Code]....
I have tried to follow examples on MSDN and other forums but I can't make this work. I think I'm missing the code to render the contents of the template, but I don't know how to hook that up.
I installed Rad Controls. Using that controls, I designed my application pages. At design time, the design is not visible. It shows the following error:
RadTabStrip1Failed to create designer 'Telerik.Web.UI.RadTabStrip, Telerik.Web.UI, Version=2010.1.415.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4'
I'm developing a set of custom controls, one of them are the "parent", any others must be added inside an ITemplate property of this parent. But in the page, at design time, I can see, by intellisense, the other controls at page level, and I can theorically add them everywhere. I want to emulate the behaviour of the asp:Table and the asp:TableRow, you can't directly add an asp.
I was referred here by MSDN forums hope this is the right place - I have a custom control (:WebControl) that renders web.sitemap in a specific way. While it runs error free and produces the expected result, at Design-Time it complains
[Code]....
and have tried the SiteMapDataProvider Tag with and without the SiteMapProvider attribute.Does anybody have (a) any experience with this, or (b) any suggestions as to how to track down the problem?
I have the user control and web page. When I place user control in the web page and in design time, it cannot view and error is "System.Web.UI.UserControl does not have a public property named 'ContentTemplate". It seems not related of error message.
I am creating custom control with tabs and also giving design time support for that control. In design time I cant accessing the child controls and also tabs. I want to change the tabs at the desing time.
I'm trying to extend a RequiredFieldValidator in an incredibly basic manner.All I want to do is add a property that is a boolean that can be set at design time through the Properties window of Visual Studio 2008.I can get the control to build and render at design time but as soon as I set the Boolean property the control breaks.There is no trouble at run-time with this control, only design time.Below is the code,the placement in VS and the error message:
1) The Code:
[Code]....
3) This is what the design surface shows after that change is made:
In case the image is missing or broken and to help the search engines, this is what it says:
"An unhandled exception has occurred. 'False' could not be set on property 'ShowValidatorSummaryLink'"
I'm sure I'm missing something or there is a serious bug here.I can't imagine that setting a simple property on the design surface would cause so much trouble.
I am trying to included a rating control in a composite control that renders many different type of controls. I render the controls by overriding the rendercontents so that I can control the layout of the controls. When I try to add the rating control to the output i get a Page cannot be null error. Can someone provide me with the proper way to render a rating control from a composite control and be able to control the layout of the child controls.
I created an Extender which has a custom property that drills down a list XML elements from an xml file, where users can select xml elements during design-time. This works perfectly fine. However, my code only has a hardcoded xml filename (source of the xml elements list) and I need to change this by maxing the xml file user-specified.
What I did is that I created another control (panel) which has a custom property that when clicked (through the ellipsis), it will allow a developer to select the xml file which is supposed to be the source xml file that the Extenders shall use. The filedialog from custom panel's property works perfectly fine.
However, my problem now is that when I drag-drop my Extender, I cannot find a way to get the property value of the custom Panel Control which contains the xml filename. I tried creating a static variable which I thought the custom controls can share but VS2010 is breaking.
I've just started working on some test asp.net webforms projects and am having a problem with VS2010. It is not displaying any controls at design-time. For every control I'm getting message -
Error Creating Control - xxxxx Object reference not set to an instance of an object
It is doing it on new web.application and Tailspin Spyworks demo app. If I switch a new web.app from asp.net4 to asp.net3.5, all the controls display properly.
I've tried removing and re-installing VS2010 and had no changes.
Am I right in assuming that only after controls on Master page are merged into the control tree for the Page, can controls ( both those in Master page and in a content Page ) be initialized with their declarative values ( values set during design time)? b) If my above assumption is correct, then these controls cannot be initialized with their design-time values during Page.PreInit, since during Page.PreInit event stage we're still able to dynamically set a Master page?! So if that is the case, when are controls initialized with their declarative values? During Init event orâ€
I am creating a composite control. On the selection of item in the dropdownlist, the result should be shown. But its mismatching the result. Here is the code for the control:
[Code]....
If I have a breakpoint on the selection index changed event of the dropdownlist, then on every selection it should go to the event. Problem is when I select an item which makes the "singlelineText" textbox to appear and after it I select any other item, it doesn't stop at the dropdown event instead it goes to the "CreateChildControls" method of the composite control which results in wrong data.
I made a composite control that contains a ListBox. I am using the Composite Control throughout my application but I can not bind the listbox in the Compositecontrol. I have setup a Public get to access my listbox in the composite control.
I am trying to make a PhoneNumber Control. I inherit from Composite Control. It contains 5 controls : 1 Label (Text to show before), 3 TextBoxes(area, prefix and line) and a Custom Validator. What I want to happen is the validator to validate the control is belongs to in two ways: 1. that the field is required and 2. That the COMBINED text of the 3 textboxes is 10 digits. I believe i can accomplish this with the expression ^d{10}$. Now I have it about halfway working, it will validate the control using client-side embeded validation on a submit click, however I need the control to validate as soon as the text of any of the boxes changes. I know this is done on the aspx page by using a Custom Validator -> specifying client and server side validation functions -> and then at end of page doing ValidatorHookupControlID(control, va lidator). My goal is to do all of this within the control to clean aspx code and make it more reusable.
I'm developing a custom server control and want it to end with /> rather than with </cc1:CustCtrl>. I've tried changing the ToolboxData but it didn't really do it (I can see it initially appears like that but instantly changes to the standard <cc1:CustCtrl blah blah></cc1:CustCtrl>. When i drag a button from the toolbox to the forms markup it uses the <asp:Button blah blah /> markup, how can I emulate this?
My CompositeControl creates dinamically several RadioButtonLists according to the DataSource information. These controls are added to the Controls list and rendered in CreateChildControls event.
I need to create a LinkButton that clear a specific RadioButtonList selection and do a postback, to load the DataSource information again (some selections changes the data that need to be loaded from the database). For each RadioButtonList, I've put a LinkButton and assigned the Click Event to a method inside the same CompositeControl, to do the RadioButtonList cleaning.
Unfortunatelly, the LinkButton doesn't trigger the Click Event. In HTML code, the link has the "onclick" attribute setted with the asp.net event, but when clicked, nothing happens.
I would like to ask you what is the best practice for developing composite user web control with multiple controls inside from the stand point of dealing with properieties. In my situation I would like to use header menu bar with logos, buttons, java baset visible/hidden menus itc as web control. I was successfull in implementing new control in my project.
But my question goes to issue of properties for ALL OF controls. I know how to hard code all required properties like: text, visible, enable for all controls. It's a lot of work. ( This is the very edge of my asp.net comprehension ) Is there a more elegant way provide an access to controls's properties without hard coding seperatelly?