23. september 2005 - 03:07Der er
38 kommentarer og 1 løsning
Imagebutton add/remove usercontrol
Jeg har et problem med en imagebutton. Jeg vil gerne have at der bliver add'et en usercontrol når brugeren trykker 1. gang og at den samme usercontrol bliver fjernet når brugeren trykker 2. gang.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
det nemmeste er at styre visibility på den. dynamisk tilføjede kontroller skal tilføjes hver gang, hvilket vil sige at den eneste situation du får sat user-kontrollen ind i, er når brugeren trykker på knappen.
i den kode du har der er det eneste der kan afstedkomme at user-kontrollen indsættes, at brugeren trykker på knappen. der er ikke nogen mekanisme der husker kontrollen, så prøv dennis bauers panel, styr det på visibility, eller gem en parameter der fortæller om den skal indsættes. (det sidste kan gøres i viewstate, session, querystring mv). mvh
jeg mente bare, at du kunne lægge en parameter et sted (f.eks. i session), og så bruge den til at fortælle om kontrollen skal indsættes eller ej.
// sessionproperty protected bool ShowControl { get { return (object)Session["ShowControl"] != null ? (bool)Session["ShowControl"] : false:} } set { Session["ShowControl"] = value; } } så kunne du i din page_load have noget i denne stil :
du spørger bare hvis der er noget, og som sagt - hvis det blot er et spørgsmål om hvorvidt én enkelt kontrol skal vises eller ej, så er det enklere blot at styre visibility. mvh
jo hvis du bruger den model fra 23/09-2005 11:04:17. trykket på knappen sætter en variabel, hvorefter der reloades. i page_load sættes kontrollen ind, hvis variablen er sat. mvh
- Jeg har en bool var der hedder Showcontrol. - Der er en get prop (returnerer en sessionsvar der hedder ShowControl som er forskellig fra null) - Der er en set prop ..
det er en conditional operator, og det er både ? og : der indgår.
// MSDN The conditional operator (?:) returns one of two values depending on the value of a Boolean expression. The conditional operator is of the form. condition ? first_expression : second_expression; //
value er den værdi man kommer anstigende med - f.eks. ved dette udtryk:
ShowControl = true; //medfører at value er true i din setter
hehe .. ja jeg har mange spm. Men nu virker det .. :) Mange tak for hjælpen! Kan ikke lige hitte ud af hvad der er condition, first expr og second expr..
Response.Redirect(Request.RawUrl) behøves vel ikke idet Imagebutton automatisk udfører postback (når siden loades igen bestemmes det hvorvidt userctrol'en skal vises)
Hvis du vil have fat i noget på en bestemt plads, kan du bare :
object var = Session[0]; // henter det første element
og du kan også tage en kigger på hvad du har i session - f.eks. sådan her:
foreach (string key in Session.Keys) { string variablname = key; Type variabeltype = Session[key].GetType(); }
Sessiontypeklassen er baseret på den øverste type i hierarkiet (object), men implementerer et interface der hedder ICollection - så det betragtes vanligvis blot som en collection... en collection af objects.
såhh... hvis du vil tilføje noget til din session, kan du også gøre sådan her:
Session.Add("someName", someObject);
og grunden til at du kan gøre sådan her
Session["varname"] / Session[index]
er fordi der er implementeret to indexere på klassen HttpSessionState, som er den type Session er.
jamen jeg ville gerne have et sted hvor jeg fx selv kunne have slået op hvordan man arbejder med det sessionsarray.. så er jeg fri for at stille spm hele tiden :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.