object to string - C#   zodpovězená otázka

C#

Jak se dá převést proměná object na string???

Díky

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

Jasně, stačí použít přetypování.

object b;
string s = (string)b; 
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Díky moc. funguje. Výsledek je ovšem nepoužitelný.

Mám master page, ve které si uživatel může vybrat některé z témat. Výběr mám udělaný v DropDownList. Vedle toho mám tlačítko.

Když uživatel stitskne tlačítko, změní se vzhled.

Na událost stisknutí tlačítka mám tento kód:

Session.Add("ThemeName", this.ThemeList.Text);

Dále mám content page Default.aspx

a v ní kód:

protected void Page_PreInit(object sender, EventArgs e)
    {
        object b = Session["ThemeName"];
        string s = (string)b; 
        Page.Theme = s;
    }

bohužel to nějak nefunguje. Je to první webová aplikace kterou v ASP.NET dělám a v tomto případě bych potřeboval trochu postrčit.

Díky

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

A ještě bych měl otázku, k čemu slouží jednotlivé adresáře v ASP.NET ( asp_data, ... )

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

App_Data slouží k ukládání dat (databáze MDF, XML a textové soubory) a nachází se v rootu webu.App_LocalResources slouží k ukládání souborů RESX, do kterých lze uložit jakýkoliv lokalizovaný obsah - obrázky, texty i zvuky. Tyto soubory jsou vázány na soubory ve adresáři, ve kterém je adresář App_LocalResources umístěn. Pokud tedy chcete lokalizovat celý web, musíte mít v každém adresáři tento adresář.App_GlobalResources slouží k tomu samému jako App_LocalResources. Rozdíl je v tom, že tento adresář se musí nacházet v rootu webu a data v něm jsou přístupná celé aplikaci.App_Themes slouží k přehlednému ukládání přepínatelných vzhledů stránky.App_Code slouží k ukládání VB nebo CS souborů, které obsahují objektově orientovaně naprogramovaný kód (třídy, jmenné prostory, moduly...). Tyto objekty jsou potom přístupné v celé aplikaci. Tento adresář musí být taky pouze v rootu webu.Bin slouží k ukládání externích DLL komponent. Musí být pouze v rootu aplikace.

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

Nefunguje to proto, že událost Page_PreInit nastává dříve, než událost DropDownLiast1_SelectedIndexChanged, tím pádem v potřebnou chvíli v Session ještě nemáte potřebnou hodnotu.

Do obsluhy změny výběru v DropDownListu přidejte nakonec přesměrování na stránku, kde se právě nacházíte, aby se celá rutina už se správnou hodnotou v session provedla znovu.

Response.Redirect(Request.RawUrl)

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