Diskuze: Web User Control
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Nějak jsem to nepochopil - "skládající se ze dvou checkBoxů (jeden nese
název vlastnosti a druhý určuje, zda je vlastnost povolená, nebo
zakázaná". Na to je snad jeden CheckBox, ne?
Nevím, jestli je vhodné si na to
dělat User Control.
Ono se to komplikovaně vysvětluje.
Jednim si vybírá jestli tu vlastnost dané zboží má a druhým,
že tu vlastnost nesmí použít
Např. má zboží "Rohlík" ... tak si vybere vlastnost zboží
např. "Potraviny" a zároveň si vybere vlastnost "Chemikálie" a u ní zvolí
Zakázáno ... program pak vyhledává pozice ve skladu, kam dané zboží
umístit.
a právě že každý si může nadefinovat svoje vlastnosti a může jich být
teoreticky libovolný počet, tak jsem se rozhodl vydat se cestou WUC. Z
databáze si načtu od uživatele vlastnosti jaké nadefinoval a ty mu
zobrazím.
Jo a ještě pro úplnost .... jedno zboží může mít víc vlastností,
ale nikdy nebude mít všechny
A nemůžu automaticky brát, že když danou vlastnost nemá, tak ji má
zakázanou, protože rohlíky můžu dát teoreticky vedle televize, když jsou
skladové prostory pro rohlíky zaplněny, ale NESMÍM ho dát třeba mezi
chemikálie... Snad to dovysvětlení pomohlo 
Snad jsem tě pochopil dobře,
každá WebControl má vlastnost Controls ve které najdeš kontroly, které
obsahuje.
Takže stačí iterovat přes .Controls tvého Web User Controlu a hlídat,
jestli je název takový, jaký jsi tomu checkboxu zadal.
Pak si ho už jen přetypuješ na CheckBox a vytáhneš z něj stav.
Stejně tak každá WebControl má vlastnost Parent, přes kterou se dostaneš na rodiče - komponentu, ve které se nacházíš.
Takže pokud máš přímo ve tvém User Controlu Checkbox, tak jeho Parent je ten User Control a User Control má v .Controls ten CheckBox.
Tak jak říká Satik + můžeš každému CheckBoxu dát nějaké ID přes Tag pro lepší rozlišení
Každopádně ikdyž tam dám jen samotný checkBox a dopředu nevím kolik jich bude, protože si je generuje stránka sama, tak nevím jak se odkázat na konkrétní checkBox a zjistit jak má nastavenou vlastnost Checked.
Dávám sem část kódu kterým generuji Vlastnosti Zboží z databáze:
No to jsi nenapsal a já to nějak nevydedukoval
Myslel jsem uložit si string,int
prostě něco unikátního do vlastnosti Tag 
Asi to mám
díky za
postrčení s nápadem přetypovat na checkBox 
Mám to udělané takto 
CheckBox pokus = (CheckBox)Panel1.FindControl(ID);
if (pokus.Checked)
Panel1.Controls.Add(new System.Web.UI.LiteralControl(pokus.Text));
Tohle byl jen takový pokus, ale mám už myšlenku jak to vyřešit 
Ještě jednou moc díky 
Jo aha, ty jsi nemyslel tag, ale opravdu přímo Tag 
To je zbytečné, stačí jen pohlídat název controlu, ten také můžeš
přiřadit 
Asi je to zbytečný no, ale radši vždy porovnávám číselný ID než
řetězce, ani nevím proč 
Zobrazeno 11 zpráv z 11.