try to create my own server control

I am trying to create my own server control "Tab"

So i have following classes

---------------------------------------------

public class TabsView : WebControl, INamingContainer
{
private TabPageCollection _tabs;
.....
}

public class TabPageCollection : ControlCollection
{...}

public class TabPage : WebControl, INamingContainer
{...}
---------------------------------------
Use

<cc1:TabsView ID="TabsView1" runat="server" >
<cc1:TabPage runat="server" ID="t1" TabName="T1">
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="Click Me"
OnClick="Serverclick" />
</cc1:TabPage>
<cc1:TabPage runat="server" ID="t2" TabName="T2">
Test 

</cc1:TabPage>
</cc1:TabsView>
-------------------------------------------

Everything renders fine.
The problem i have with Postback. For whatever reason when i click Button2
POST happens but Serverclick is not called. Nor Textbox2 retains it value.

why is that?

thanks
George.
George Ter-Saakov [ Fr, 16 März 2007 21:56 ] [ ID #1659483 ]

Re: try to create my own server control

Problem solved.
Do not use ControlCollection. It does not register controls with the page.
Write your own collection that will add controls to the Controls collection
when control is added by ASP.NET parser.

George.


"George Ter-Saakov" <gt-nsp [at] cardone.com> wrote in message
news:u2e2L2AaHHA.4520 [at] TK2MSFTNGP06.phx.gbl...
>I am trying to create my own server control "Tab"
>
> So i have following classes
>
> ---------------------------------------------
>
> public class TabsView : WebControl, INamingContainer
> {
> private TabPageCollection _tabs;
> ....
> }
>
> public class TabPageCollection : ControlCollection
> {...}
>
> public class TabPage : WebControl, INamingContainer
> {...}
> ---------------------------------------
> Use
>
> <cc1:TabsView ID="TabsView1" runat="server" >
> <cc1:TabPage runat="server" ID="t1" TabName="T1">
> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
> <asp:Button ID="Button2" runat="server" Text="Click Me"
> OnClick="Serverclick" />
> </cc1:TabPage>
> <cc1:TabPage runat="server" ID="t2" TabName="T2">
> Test 

> </cc1:TabPage>
> </cc1:TabsView>
> -------------------------------------------
>
> Everything renders fine.
> The problem i have with Postback. For whatever reason when i click Button2
> POST happens but Serverclick is not called. Nor Textbox2 retains it value.
>
> why is that?
>
> thanks
> George.
>
George Ter-Saakov [ Mo, 19 März 2007 16:24 ] [ ID #1661579 ]
Microsoft » microsoft.public.dotnet.framework.aspnet » try to create my own server control

Vorheriges Thema: Singletons in asp
Nächstes Thema: how do i fix this error in asp 2.0