Dynamicke vkladani control-u – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Dynamicke vkladani control-u – .NET – Fórum – Programujte.comDynamicke vkladani control-u – .NET – Fórum – Programujte.com

 

Roman
~ Anonymní uživatel
134 příspěvků
21. 11. 2019   #1
-
0
-

Ahoj,

narazil jsem na problem a potreboval bych radu,

mam website, asp.net 4.6, webforms,

na page vkladam pri form.init controly, ty se vlozi a vse funguje jak ma, ale vkladam i placeholder, do ktereho jeste po vlozeni vsech controlu potrebuju vlozit controly z db a tu je problem.

kod je:

Dim NewControl As New PlaceHolder
                        NewControl.ID = Params(4)
                        Response.Write("before_form:" & form1.Controls.Count & " ")
                        form1.Controls.Add(NewControl)
                        Response.Write("after_form:" & form1.Controls.Count & " ")
                        Response.Write(form1.ID & " - " & NewControl.ID)
                        Response.Write("<br/>")

vysledek je: before_form:16 after_form:17 form1 - Center, takze tady to vypada dobry

nasledne se pokousim o:

Dim Control As Control = LoadControl("/" & i.Type & ".ascx")
            Dim nControl As IObjectsInterface = CType(Control, IObjectsInterface)
            nControl.ID = i.ID

Dim Dynamic As New Control
                Response.Write("before_center:" & Dynamic.Controls.Count & " ")
                Dynamic.FindControl("Center")
                Dynamic.Controls.Add(Control)
                Response.Write("after_center:" & Dynamic.Controls.Count & " ")
                Response.Write(Dynamic.ID & " - " & Control.ID)
                Response.Write("<br/>")

vysledek je: before_dynamic:0 after_dynamic:1 -, tady uz to dobry neni, neco se pridalo, ale dynamic, ani control nemaji ID

napada vas prosim, co delam spatne?

Roman

Nahlásit jako SPAM
IP: 37.188.154.–
gna
~ Anonymní uživatel
1891 příspěvků
22. 11. 2019   #2
-
0
-

Vůbec nevím. Budu jen tipovat.

== Control.ID

Dim Control As Control = LoadControl("/" & i.Type & ".ascx")
Dim nControl As IObjectsInterface = CType(Control, IObjectsInterface)
nControl.ID = i.ID

Mělo by se ID nastavit tím Loadem? Je v té šabloně definované?
Nebo tím přířazením? Je v i.ID něco? Určitě se takové přiřazení promítne "nahoru"?

== Dynamic.ID

To je nový objekt, pravděpodobně je ID defaultně prázdné. Tipl bych, že to měl být ten objekt nalezený Findem.

Dim Dynamic As Control = form1.FindControl("Center")
Nahlásit jako SPAM
IP: 213.211.51.–
MilanL+1
Grafoman
22. 11. 2019   #3
-
0
-

#1 Roman
já bych řekl že máš blbě tyto 2 řádky

Dynamic.FindControl("Center")

Dynamic.Controls.Add(Control)

tu první řádku v podstatě nepotřdbuješ, pojmenuj si lépe ten PlaceHolder místo NewControl třeba MyPHolder

a druhá řádka pak bude

MyPHolder.Controls.Add(control)

a dynamic.ID nemáš přiřazeno

Nahlásit jako SPAM
IP: 91.139.9.–
Roman
~ Anonymní uživatel
134 příspěvků
22. 11. 2019   #4
-
0
-

gna:

dekuju moc

problem byl opravdu v:

Dynamic.FindControl("Center")

ma to byt jak pises:

Dim Dynamic As Control = form1.FindControl("Center")

nevim, jak jsem takou hlopost mohl napsat a prehlizet to, pul dnes jsem u toho "zabil" :)

Nahlásit jako SPAM
IP: 37.188.154.–
MilanL+1
Grafoman
22. 11. 2019   #5
-
0
-

#4 Roman
stejného efektu bys měl dosáhnout i bez hledání s použitím toho objektu NewControl, tedy pokud ho nepoužíváš na víc věcí.

Řešil jsem podobně v EXCELU dynamický formulář pro úpravu formátování části datové tabulky stylem Drag&Drop, sloupečky tabulky byly po 0.25cm a v tom formátování se nastavovalo pořadí a šířky (přes daný počet sloupečků)  datových polí. 

Nahlásit jako SPAM
IP: 91.139.9.–
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, 18 hostů

Podobná vlákna

User Control — založil Jan

čo je toto za control-u? — založil yterbium

Fan Control C++ — založil Kenvelo

Chart control — založil Jirka

 

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