Vlastni web componenta v asp.net C# - problem s vnořeným prvkem – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vlastni web componenta v asp.net C# - problem s vnořeným prvkem – .NET – Fórum – Programujte.comVlastni web componenta v asp.net C# - problem s vnořeným prvkem – .NET – Fórum – Programujte.com

 

Jindra
~ Anonymní uživatel
19 příspěvků
7. 3. 2010   #1
-
0
-

Dobrý den,
mám problém s webovou componentou. Potřebuji vytvořit komponentu (je mi celkem jedno jestli to bude WebControl nebo UserControl), kterou budu moci využívat tak, že mezi begin a end tag budu moci vložit jakýkoliv další ovládací prvek, např. tedy



<%@ Register assembly="tblWeb" namespace="myComponentsLib" tagprefix="my" %>
<my:tblWeb ID="tblWeb1" runat="server" Icon="list" Title="tomik" Width="600">
<asp:GridView ID="grdVW1" runat="server" />
</my:tblWeb>


V současné chvíli mi komponenta funguje pouze když nemám mezi begin a end Tagem nic. V opačném případě mi vyskakuje

Chybová zpráva analýzy: Typ jindraComponentsLib.EliTableWeb neobsahuje veřejnou vlastnost s názvem TextBox.


Zdrojová chyba:

Řádek 12: <form id="form1" runat="server">
Řádek 13: <my:tblWeb ID="tblWeb1" runat="server" Icon="list" Title="tomik" Width="600">
Řádek 14: <asp:TextBox ID="txt1" runat="server" Text="Text" />
Řádek 15: </my:tblWeb>


Nevíte někdo v čem jsem udělal chybu nebo co mi tu chybí?
CS kód komponenty je

public class TblWeb : WebControl, INamingContainer

{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? "[" + this.ID + "]" : s);
}

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

private String icon;
private String title;
private Int32 width;

public TblWeb()
{
this.icon = "";
this.width = 150;
}

protected override void Render(HtmlTextWriter writer)
{
writer.Write("<table ... >");
writer.Write("<tr>");
writer.Write("<td>...</td>");
}
}
public override void RenderEndTag(HtmlTextWriter writer)
{
writer.Write("</td></tr></table>");
}
protected override void RenderChildren(HtmlTextWriter writer)
{
base.RenderChildren(writer);
}

public String Icon
{
get { return icon; }
set { icon = value; }
}
public String Title
{
get { return title; }
set { title = value; }
}
}

Moc diky za pomoc.
Jindra

Nahlásit jako SPAM
IP: 88.100.218.–
velurex0
Stálý člen
8. 3. 2010   #2
-
0
-

Zkus to podědit z něčeho jiného než WebControl. Třeba Panel.

Nahlásit jako SPAM
IP: 213.191.119.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 33 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý