sdílení proměnných   otázka

ASP.NET WebForms

Dobrý den, měl bych dotaz (vlastně 3). (Hoooodně dávno jsem trošininku programoval v c++, ale jen jednoduche forms a ve ASP.NET a C# se teď trochu ztrácím.)

1.dotaz - jek sdilet nejakou promennou - pokud na jedné stránce něco určím a chci, aby se tato data přenesla i do ostatních stránek. (bezpochyby pres masterpage a je to neco trivialniho (ale nevim jak) :-))

2.dotaz - jak naplnit tabulku datama z XML souboru

3. a poslední blbinka - jak přebarvovat pozadí.

mel jsem neco takovýho, ale to je blbě

protected void Button1_Click(object sender, EventArgs e)
    {
        if (DropDownList1.SelectedIndex == 0)
        { Form.Attributes.Add("style", "background-color:White");}
            
        if (DropDownList1.SelectedIndex == 1)
        {Form.Attributes.Add("style", "background-color:Red");}

        if (DropDownList1.SelectedIndex == 2)
        {Form.Attributes.Add("style", "background-color:Yellow");}

        if (DropDownList1.SelectedIndex == 3)
        {Form.Attributes.Add("style", "background-color:Green");}

     }

protože to mi sice stranku prebarvi, ale kolem mi zustane okraj.

Dekuji moc za info. A sorac ze otravuju s blbinama - jen potrebuju trochu udat smer a pak uz to snad pujde.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Měl by jste se milý pane taky trochu snažit,od toho je mozek.Vaše dotazy se dají realizovat max. během půl hodinky s pomocí tohoto webu a google vyhledávače.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vsadím se, že vy také nevíte, jak se to dělá, ale jen se snažíte vypadat chytře. Tím nikomu nepomůžete.

Zrovna první dotaz se ve vyhledávači hledá dost blbě, protože není úplně jasné, co do toho políčka vlastně zadat, aby to našlo to, co hledáme.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den, doporučují začít tímto článkem a postupně se prokousat celým seriálem. http://www.vbnet.cz/clanek--44-zaciname_...

Přeji hodně zdaru

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1) Parametry se mezi stránkama předávají v adrese. Například Stranka.aspx?ID=10&Project=2 předá do stránky 2 parametry: ID s hodnoutou 10 a Project s hodnotou 2. Obsah těchto parametrů si ve stránce přečtete z objektu Request:

string id = Request["ID"];

2) Pokud tabulkou myslíte komponentu GridView, tak jí můžete naplnit pomocí komponenty XmlDataSource - viz http://vbnet.cz/forum-tema--2647-nahraze...

3) Problém je asi v tom, že měníte barvu formuláře (tag FORM) a ne barvu celé stránky (tag BODY).

Body přidejte runat=server:

<body runat="server" id="body">

A takto potom změníte barvu pozadí:

body.Style.Add("background-color", "Green");

nahlásit spamnahlásit spam 4 / 4 odpovědětodpovědět

Je nutné si uvědomit, že při HTTP požadavku na serveru se všechny objekty (stránka, komponenty v ní atd.) vytvoří a po ukončení požadavku a poslání odpovědi zase zaniknou. Cokoliv tedy nastavíte do proměnných se prostě a jednoduše ztratí, nemáte možnost to přenést na jinou stránku. To už vyplývá z bezstavovosti protokolu HTTP (někteří to považují spíše za výhodu, já osobně spíše za velkou nevýhodu), s tím nic nenaděláme.

Veškeré informace, které budete v příští stránce potřebovat, jí musíte předat v URL, jiná spolehlivá a 100% funkční komunikace mezi dvěma různými stránkami neexistuje.

Pokud si potřebujete předávat data v rámci jedné stránky - první požadavek GET a pak už jen PostBacky, můžete použít ViewState, ControlState nebo skyté formulářové pole. Teoreticky můžete z jedné stránky udělat PostBack na stránku jinou a pak samozřejmě výše zmíněné tři praktiky můžete použít též, ale to bych spíše nedoporučoval, je tam pár úskalí.

Takže spolehlivě a na 100% jedině v URL. Session není úplně vhodná, protože může být sdílená pro víc záložek v rámci jednoho okna prohlížeče.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback