30. juli 2007 - 22:26Der er
18 kommentarer og 1 løsning
fra cs til aspx fil
Hejsa...
jeg har en asp.net 2.0 fil...den består som altid af en aspx fil og en code behind cs fil...i min aspx fil har jeg et object som har en value som skal sættes dynamisk...og værdien er tilgængelig i min cs klasse...værdien kunne både ligge i en variabel eller i en kontrol, såsom en label, hiddenfield eller lign...
spørgsmålet er nu...
hvordan tilgår jeg en variabel/en kontrols tekst fra min aspx fil??
sagtens.. men mit forslag er ikke nødvendigvis det samme som andre foreslår så vi ser lige om der kommer nogle bud ellers skal jeg fortælle hvordan du "kan" gøre det på.
hehe, hejsa...jeg har faktisk selv lige fundet en løsning...idet at min side allerede benytter flere sprog og dermed Ressources...så kan jeg dermed sætte til fx. Value="<%$ Resources:Master, StringTest %>"
og teksten kan jo så tilgås fra c# således:
Ressources.Master.StringTest = "ny tekst";
Hvor "optimal" løsningen er, ved jeg ikke, men den er da ret simpel og virker...så ved ikke om det er grund til andet? Jeg vil meget gerne se dit foreslag nu ! :)
hehe, okey... jeg ved godt hvordan man bruger session normalt fra cs filen... men ved ikke hvordan jeg sætter en value i aspx siden = en session variabel...? u tell me :)
Hvad er det præcist du vil ? Havd skal scope være på den variabel, altså : er det noget som gælder for session, for application, for alle brugere oder was ? Siden du snakker om en master, så kan man lave public property på masteren som kan tilgås/sættes fra code behind. Eftersom det virker med en ressource fil så kan du jo nok bruge det, men vildt effektivt er det næppe, da det kræver disk i/o. Tillige er der kun een variabel for alle brugere/sessioner for een applikation.
nu er det sgu mig som er pinlig! Ressources.Master.StringTest kan IKKE tildeles en værdi runtime idet den er READ ONLY!
Then what`??
Neoman>> Værdien er faktisk specifikt for hver enkelt bruger...værdien kommer faktisk fra en anden aspx side som en url encoded variabel... Grunden til at der står Master...er blot pga. jeg lige testede det i et gammelt projekt...det vil foregår i en content page!
jeg er ikke helt med så :"hvordan tilgår jeg en variabel/en kontrols tekst fra min aspx fil??" For de kontroller som har en text property er den property enten tilgængelig direkte fra code behind, eller, i fald controllen sidder i en container ( og er således en child) så containerensnavn.findcontrol("myControlname") som skal castes til de nrigtige contro ltype hvorpå man igen har direkte tilgang.
Nu spørger du om at tilgå en kontrol "fra min aspx" fil - kan du give et lille eksemple på hvad du mener ?
side1.aspx sender en tekst til side2.aspx via url encoding...teksten pilles ud af requestet i side2.cs filen såldes:
string id = Request.QueryString.Get("Id");
if (id != null) { Label1.Text = id; }
---------------------------------
i side2.aspx siden findes det en embedded flash object...dette objekt har en value og det er denne value jeg vil sætte runtime, altså til det modtaget request string Id.
Jeg aner ikke noget om embedded flash objekter, men det ville undre mig meget at det skulle virke meget anderledes end alt andet (altså de gængse kontroller). F.eks. hvis du har en user control, så er dens public properties jo tilgængelige i code-behind filen, mens i aspx filen så kan de optræde i taggen, ganske som for alm controls. Objektet skal vel ha noget ID og dets properties burde vel optræde i code-behind (nu fabler jeg bare, siden jeg ikke kender flash, men det ville jo ligesom "make sense"). Fra dit spørgsmål kan jeg udlede at det ikke er tilfældet, så jeg ville nok oprette et nyt spørgsmål og vente på at en flasher kommer forbi - og så er der altid google og if-all-else-fails-read-the-instructions :) Rent umiddelbart så skal objektet vel have nogle properties som man kan tilgå, eller nogle metoder som man kan kalde.
Tak fordi du vækkede mig... det var faktisk det første jeg prøvede... men af en eller anden grund kunne jeg ikke se objektet tidligere...nok bare mig! Har fundet det og det har nu også lykkedes mig, at sætte dens value runtime ved at tilgå propertyen...!
Jeg opretter gerne et ny spg. hvis du vil have points! :)
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.