Missing Intelligence While Describing Custom Control Properties Declaratively
May 21, 2010
I've been working on this project for a few days now, and have been unable to resolve the issue of getting intellisense support for my custom-defined inner properties for a user control (ascx, mind you). I have seen the solution to this (using server controls, .cs mind you) many times. Spelled out in this article very well. Everything works for me while using ascx controls except intellisense. Here's the outline of my code:
[PersistChildren(true)]
[ParseChildren(typeof(BreadCrumbItem))]
[ControlBuilder(typeof(BreadCrumbItem))]
public partial class styledcontrols_buttons_BreadCrumb : System.Web.UI.UserControl
{
...
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]
public List<BreadCrumbItem> BreadCrumbItems
{
get { return _breadCrumbItems; }
set { _breadCrumbItems = value; }
}
...
protected override void AddParsedSubObject(object obj)
{
base.AddParsedSubObject(obj);
if (obj is BreadCrumbItem)
BreadCrumbItems.Add(obj as BreadCrumbItem);
}
...
public class BreadCrumbItem : ControlBuilder
{
public string Text { get; set; }
public string NavigateURL { get; set; }
public override Type GetChildControlType(string tagName, System.Collections.IDictionary attribs)
{
if (String.Compare(tagName, "BreadCrumbItem", true) == 0)
{
return typeof(BreadCrumbItem);
}
return null;
}
}
}
Here's my mark up (which works fine, just no intellisense on the child object declarations):
<%@ Register src="../styledcontrols/buttons/BreadCrumb.ascx" tagname="BreadCrumb" tagprefix="uc1" %>
...
<uc1:BreadCrumb ID="BreadCrumb1" runat="server" BreadCrumbTitleText="Current Page">
<BreadCrumbItem Text="Home Page" NavigateURL="~/test/breadcrumbtest.aspx?iwentsomewhere=1" />
<BreadCrumbItem Text="Secondary Page" NavigateURL="~/test/breadcrumbtest.aspx?iwentsomewhere=1" />
</uc1:BreadCrumb>
I think the issue lies with how the intellisense engine traverses supporting classes. All the working examples I see of this are not ascx, but Web Server Controls (cs, in a compiled assembly).
View 1 Replies
Similar Messages:
Aug 24, 2010
Normally, unknown attributes of a webcontrol are passed through to to the rendered element in the browser. So the following works.
<asp:label runat="server" Text="Label Text" helpId="101" />
However, if you use a namespaced attribute like the following
<asp:label runat="server" Text="Label Text" myNs:helpId="101" /></div>
The attribute is not rendered to the client, even when the custom namespace is declared in the html element like: <html xmlns= [URL] Does anyone know of a way to get this to render to the client, without having to use a custom control. A module or other globally "pluggable" solution would be acceptable.
View 1 Replies
Mar 4, 2010
I have a custom control which inherit from the Table class and in the constructor, it takes a an integer as an argument. There is no empty constructor.
Is there a way for the user to set that variable in the properties window after they drag the control onto a form.
I know some .NET controls, you can set the source for the parameter to different things like another control's property, QueryString using just the properties window.
Right now, I have to create the control dynamically. I read the query string and then created the object.
View 1 Replies
Jun 1, 2010
I have made a composite control that has 1 Label Control ,1 TextBox ,1 button and 1 Panel Control. Below is my code:
namespace ServerControl1
{
[
AspNetHostingPermission(SecurityAction.Demand,[code]....
The above code compiles without any error. Also I can drag and drop this control from the Toolbox of my Project on my web form. However I am unable the change the value of my fromLabel control.It allows me to change the value in the properties window.But when I run the form it always shows me its default value which is "From". I want it to be flexible so that any one can change the value in the properties window.
View 3 Replies
Mar 5, 2010
Why custom Gridview control not render html properlies under <Columns> properly in Visual Studio 2005?
For example:
[code]....
View 1 Replies
May 13, 2010
[VS 2010 RC1, .NET 4.0, VB.NET]
I'm working with a simple UserControl someone at my company created. It's basically just a DropDownList with a RequiredFieldValidator and some added properties (such as "Required", which controls the CSS styling of the DropDownList and whether the RequiredFieldValidator is Enabled or not).
Here is an example of the UserControl usage where a SqlDataSource is used to populate the ListItemCollection. I'm trying to specify an intial ListItem below (and would like the ability to add multilple ListItems if necessary) but can't seem to get this to work...
[Code]....
My code-behind looks as follows:
[Code]....
I've found several posts related to this but cannot seem to get the declarative ListItem to be added to the DropDownList.
I understand that using a WebControl is another option, but I'd like to learn how to get this method to work if possible.
View 5 Replies
Apr 20, 2010
I though it would be very simple but I can not get it today.I have a user control, with a grid control contained in it.
public Unit Width
{
get
[code]...
View 1 Replies
Jan 25, 2010
How can I add custom properties into control objects in ExtJs.
For example :
[code]....
This control comes from server dynamically and I want to write my custom property as well like below :
[code]....
I tried it but it said undefined. Normally since JavaScript is loose, I can easily modify objects but in this case it wouldn't work the way I expected.
View 1 Replies
Dec 14, 2010
The First - LblTextBox:
A label and textbox that have a LabelText field that can be set to change the label text
The Second - LoginCtl:
A login control that has two instances of LblTextBox for user name, password and a submit button
I want to control the tag rendering of these controls for formatting so I am not overriding CreateChildControls() to get the job done.
My issue is that the controls are rendered but none of the OnInit() code in either controls takes hold (blank labels, css styles not applied, etc..).
[Code]....
View 2 Replies
Sep 15, 2010
With following code, I can fetch all properties of user control. I need to get only those properties which were separately defined excluding the default ones.
[Code]....
View 2 Replies
Feb 23, 2011
As a starting point for creating custom controls, I would like to make a control that simply displays a number. If we imagine the .ascx file contains nothing except for a literal control, and the code behind sets that value to 1.
I then want to be able to do myControl.increment();
This will run some javascript that increases the value of the literal control.
I could inject a javascript into the page, such as pseudocode:
page_load
{
scriptything.register("function increment(x) { $('#myLiteral').increment(); });
}
or something, but that wouldn't be myControl.increment, that would just be increment(). More than one control on the page would screw it up.
View 2 Replies
Feb 23, 2010
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.
[code]....
View 1 Replies
Jan 12, 2011
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?
View 12 Replies
Apr 4, 2011
I can load a generic user control just fine in my WCF service doing the following:
UserControl userControl= (UserControl) new Page().LoadControl("~/UserControls/MyControl.ascx");
However i can't seem to find any way to do this
MyControl myControl=(MyControl)userControl;
The reason i need to do this is because my user control has a custom property, person, I need to do the following:
myControl.Person=new Person();
essentially i need to simulate:
<%@ Reference Control="~/UserControls/MyControl.ascx" %>
which normally goes inside asp.net page or master-pages.any way of doing this in an Ajax Enabled WCF Service?
View 2 Replies
Nov 7, 2010
If a composite server control normally encapsulate styling information inside, it is an example of code encapsulation and modularization. However if css properties are included inside the composite control, it is not ideal for code/styling separation and css code re-use principles. Now which consideration should be the main consideration?
View 2 Replies
Jan 11, 2010
I've noticed that on aspx page IntelliSense doesn't display the Style property of a web control, even thought the control does have a Style property. Does that mean we shouldn't declaratively set the Style property:
<asp:TextBox ID="UserName" Style="color:Green; padding:0px; margin:0px;" runat="server"></asp:TextBox>
View 2 Replies
Mar 8, 2010
If the answer to this question exists somewhere, I'm no good at searching for it. This is sort of a simple question, the response being two parts: (1) is it possible? (2) if so, how?
I've created a web user control for my site's footer. In my web.config I have it registered like this:
[Code]....
Then, within the pages on my site, I simply insert it like this:
[Code]....
But obviously, that didn't work. I get this error: The type or namespace name 'FooterControl' could not be found (are you missing a using directive or an assembly reference?)
So I'm really not sure what to do at this point. I can put all of my code in the ASPX file and make my life easier, but I would kind of prefer not to.
View 11 Replies
Aug 10, 2010
why the assembly information would be missing for a project in VS 2010? There is an 'AssemblyInfo.vb' filed located in the 'My Project' folder with values provided for the title, product, etc and GUID. However if I open the 'Assembly Information...' dialog in the 'Application' tab of the properties for the project all the fields are blank.
View 1 Replies
Apr 4, 2010
I have a custom server control inheriting from CompositeControl. It consists of two RadioButtonlist controls that are rendered side by side in an html table. The number of ListItems in each RadioButtonList is not known until runtime. Depending on how many items each list contains, the RepeatColumns property of each list is set differently. To do this in the handler for the ItemDataBound event I need to get the count of ListItems in each RadioButtonList. How do I expose the Items.Count property of each internal RadioButtonList as a top-level property? I tried using a getter to return the count but this generates a compile-time error to the effect that the count cannot be assigned to--even though I have not created a setter.
Similarly, in the handler for the Submit event, I need to get the ClientID of each internal RadioButtonList to pass to a method that checks for data changes. How do I expose the ClientID of each component RadioButtonList as a top-level property?
I can of course index the Controls collection of the composite control to access the child control and read its properties--but that defeats the whole point of making a complex, independent custom server control.
View 1 Replies
Aug 31, 2010
I have an ASP.net control that contains a grid (protected member variable). Grid is populated from a function in the control. I have derived a new user control from this control without any control in it. I added additional functionality to populate grid and called base class function to do further operation on the grid. When I run my code, I get the null reference exception on grid object in the base control. I missing something in control inheritance? at what point do inner controls get created?
View 1 Replies
Mar 9, 2011
<profile enabled="true" automaticSaveEnabled="false">
<properties>
<add name="InvitationCode" type="String"/>
</properties>
</profile>
How to get profiles with InvitationCode="foo"? Also can i make property unique?
View 1 Replies
Dec 6, 2010
I have the following property:
[Code]....
I want to be able to have the user see the available options when they try to do something such as DateRange = .... (i want intelllisense in here and I can set the values). Is this a possible functionality? I am using VS 2008 .NET 3.5
View 1 Replies
Aug 16, 2010
How do I get access to my custom strong-named properties of the common profile (page.profile) in ASP.NET for a classes that does not derive from page? I thought I could just pass in httpcontext.profile but I'm missing the custom properties.
There should be some class type that I can pass in? It appears the class type is ProfileCommon and is auto-generated.
View 1 Replies
May 4, 2010
I open VS2008/VS2010 and run some project, then I get a message prompts it cannot finds the server, and asks me if I want to look for it. clicking Yes and the next window open:
In this window I am looking for the server name, "MACHINENAMEMSSQLSERVER" but I just cannot find it.
I can see "MACHINENAME/SQLEXPRESS" server, but not the sql server 2008 instance....
The server is up and running, I have checked it, and I can access it as the sql server located on the local machine,
View 2 Replies
Nov 29, 2010
I'd like to add some custom instance properties to an ASP.Net User object. for example, I'd like to log every user's login and have something like: User.LoginTimes or calculate the User Profile's Completion percentage and be able to access it like: User.ProfileInfoPercentage, etc.
Now What I'd like to know is what would be the best approach to do this?
Forget about user instances? (e.g. define a database table with userid and ProfilePercentage info and retrieve data from profile like: DB.GetProfilePercentage(Context.Current.User.UserID) )
Override the ASP.Net User class and add my own functionalities.
Use Extension methods for the user class.
View 1 Replies