[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.aspnet.buildingcontrols

Composite control not appearing in toolbar...

Dungeon Dave

10/9/2006 3:53:00 PM

Hi - I'm just experimenting and following the example in:
http://msdn2.microsoft.com/en-us/library/ms3...

I have a solution that has my controls project and a "test" web project.

When I build the controls project, the control that inherits from
"WebControls" appears fine in the toolbox, but the one that inherits from
"CompositeControl" does not appear.

Code for this control is below (just in case I've deviated from the MSDN
example and not spotted it).

Thanks for your help.

Griff
------------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebControlLibraryPrototypeA
{
[DefaultProperty("Prompt")]
[ToolboxData("<{0}:AgeCollector runat=server></{0}:AgeCollector>")]
public class AgeCollector : CompositeControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("Please enter your date of birth:")]
[Description("Text to prompt user with")]
[Localizable(true)]
public virtual string Prompt
{
get
{
String s = (String)ViewState["Prompt"];
return ((s == null) ? String.Empty : s);
}

set
{
ViewState["Prompt"] = value;
}
}

[Bindable(true)]
[Category("Appearance")]
[Description("Date of birth input area")]
public virtual DateTime DateOfBirth
{
get
{
object o = ViewState["DateOfBirth"];
return (o == null) ? DateTime.Now : (DateTime)o;
}
set
{
ViewState["DateOfBirth"] = value;
}
}

protected override void CreateChildControls()
{
Label lab1 = new Label();
lab1.Text = Prompt;
lab1.ForeColor = this.ForeColor;
this.Controls.Add(lab1);

Literal lit = new Literal();
lit.Text = "<br/>";
this.Controls.Add(lit);

TextBox tb = new TextBox();
tb.ID = "tb1";
tb.Text = DateOfBirth.ToString();
this.Controls.Add(tb);

base.CreateChildControls();
}
}
}




7 Answers

Dungeon Dave

10/9/2006 4:09:00 PM

0

Bit more info...if I right click in the toolbox and chose "show all" then
this control appears, albeit greyed out. It's as if it compiled
successfully but can't be used.


offwhite

10/9/2006 8:16:00 PM

0

Be sure you have your namespace set properly in the AssemblyInfo.

[assembly: TagPrefix("CustomNamespace.Controls", "cnc")]

It should match up with your controls.

And sometimes Visual Studio needs a restart. There are lots of bugs in
VS which have been addressed by the SP1 Beta.

You can get that beta here...

http://connect.microsoft.com/vi...

Brennan Stehling
http://brennan.offwhite...

Griff wrote:
> Hi - I'm just experimenting and following the example in:
> http://msdn2.microsoft.com/en-us/library/ms3...
>
> I have a solution that has my controls project and a "test" web project.
>
> When I build the controls project, the control that inherits from
> "WebControls" appears fine in the toolbox, but the one that inherits from
> "CompositeControl" does not appear.
>
> Code for this control is below (just in case I've deviated from the MSDN
> example and not spotted it).
>
> Thanks for your help.
>
> Griff
> ------------
>
> using System;
> using System.Collections.Generic;
> using System.ComponentModel;
> using System.Text;
> using System.Web;
> using System.Web.UI;
> using System.Web.UI.WebControls;
>
> namespace WebControlLibraryPrototypeA
> {
> [DefaultProperty("Prompt")]
> [ToolboxData("<{0}:AgeCollector runat=server></{0}:AgeCollector>")]
> public class AgeCollector : CompositeControl
> {
> [Bindable(true)]
> [Category("Appearance")]
> [DefaultValue("Please enter your date of birth:")]
> [Description("Text to prompt user with")]
> [Localizable(true)]
> public virtual string Prompt
> {
> get
> {
> String s = (String)ViewState["Prompt"];
> return ((s == null) ? String.Empty : s);
> }
>
> set
> {
> ViewState["Prompt"] = value;
> }
> }
>
> [Bindable(true)]
> [Category("Appearance")]
> [Description("Date of birth input area")]
> public virtual DateTime DateOfBirth
> {
> get
> {
> object o = ViewState["DateOfBirth"];
> return (o == null) ? DateTime.Now : (DateTime)o;
> }
> set
> {
> ViewState["DateOfBirth"] = value;
> }
> }
>
> protected override void CreateChildControls()
> {
> Label lab1 = new Label();
> lab1.Text = Prompt;
> lab1.ForeColor = this.ForeColor;
> this.Controls.Add(lab1);
>
> Literal lit = new Literal();
> lit.Text = "<br/>";
> this.Controls.Add(lit);
>
> TextBox tb = new TextBox();
> tb.ID = "tb1";
> tb.Text = DateOfBirth.ToString();
> this.Controls.Add(tb);
>
> base.CreateChildControls();
> }
> }
> }

Dungeon Dave

10/10/2006 1:08:00 PM

0

Hi Brennan

I'm not completely convinced that there is a problem with the namespaces -
the other controls that inherit from WebControl within the same control
library all appear. However, I did explicitly add it to the AssemblyInfo
(and "Using System.Web.UI" but to no avail.

I'll look into SP1 beta, though again I'm not that happy about using beta
software. If it is a problem with the IDE then this tells me one of two
things:
a) there are a lot of people writing composite controls that are
experiencing the same problem and PRESUMABLY have found a way around this
problem before SP1Beta was released, or
b) there aren't that many developers creating composite controls....

I'm still hoping that it's just a silly mistake on my part....

Griff


pkellnernews

10/15/2006 2:42:00 PM

0

On 9 Oct 2006 13:16:22 -0700, "Brennan Stehling" <offwhite@gmail.com>
wrote:

>Be sure you have your namespace set properly in the AssemblyInfo.
>
>[assembly: TagPrefix("CustomNamespace.Controls", "cnc")]
>
>It should match up with your controls.
>

Hi,

I just installed beta1 and still have the same problem. I've been
wrestling with this for a long time and I know I have the above
assembly correct. Any other ideas? It seems Microsoft knows how to
make there controls appear in the toolbar. What can I do to make mine
appear?
Peter Kellner
http://peterk...

offwhite

10/18/2006 6:09:00 PM

0

You can always add the manually.

Brennan Stehling
http://brennan.offwhite...

PeterKellner wrote:
> On 9 Oct 2006 13:16:22 -0700, "Brennan Stehling" <offwhite@gmail.com>
> wrote:
>
> >Be sure you have your namespace set properly in the AssemblyInfo.
> >
> >[assembly: TagPrefix("CustomNamespace.Controls", "cnc")]
> >
> >It should match up with your controls.
> >
>
> Hi,
>
> I just installed beta1 and still have the same problem. I've been
> wrestling with this for a long time and I know I have the above
> assembly correct. Any other ideas? It seems Microsoft knows how to
> make there controls appear in the toolbar. What can I do to make mine
> appear?
> Peter Kellner
> http://peterk...

Spack

12/10/2007 6:13:00 PM

0


"Playa" <hurlgen40k@aol.com> wrote in message
news:106fca3b-c832-4788-a03e-f456d0506622@e4g2000hsg.googlegroups.com...
>
> Hey,
>
> On Dec 8, 8:40 pm, "Crusader Scott" <crusadersc...@optonline.net>
> wrote:
>> Have they had the calendar in years past or was the 2007 calendar
>> just a one-shot deal?
>
> According to this:
>
> http://www.blacklibrary.com/product.asp?prod=60719981001&type=M...
>
> There are no 'related products' from the BL.
> So, a 2007 calendar can't exist either . . .

Or BL just haven't updated their cross reference table, as this does exist:

http://www.blacklibrary.com/product.asp?prod=60719981002&type=M...

--
Dan
http://www.ageof...


Robert Singers

12/10/2007 11:51:00 PM

0

Between saving the world and having a spot of tea Crusader Scott said

> On a related note, somebody has told me that they've seen a 40K
> Advent Calendar in a GW store this year (40K and Advent don't really
> go together, though. Strange idea.).

Just like top posting and RGMW don't really go together.

--
Rob Singers
RGMW FAQ Maintainer. See it @ http://ww...
Foemina Erit Ruina Tua