[ apex @ 20.03.2007. 01:04 ] @
Naime imam problem kada dodam u ImageButton event:

Code:
ImageButton2.Attributes.Add("onclick", "javascript: window.open(.........................


Problem je sto moram dvaput da kliknem na dugme da bi se skript izvrsio. Koliko sam razmisljao skontao sam, inace ne znam zasto to radi ali to je jedino logicno resenje, da prvi put kad kliknem on, "registruje" taj skript, a onda pri drugom kliku ga izvrsava.

Problem mi je sto ne mogu u Page_Load i slicne 'event-e' da odradim
Code:
ImageButton.Attributes.Add
, jer skript sadrzi razne promenljive, da ne duzim sad.


Da li postoji izlaz iz ove situacije?
[ mmix @ 20.03.2007. 11:02 ] @
Ako hoces da client-side even handler zavisi od rezultata server-side event handlera onda nemoj ovako raditi, jer zaista moras dva puta kliknuti dugme (jedanput da izazoves post-back da bi odradio server side code, drugi put na klijentu).

Moja preporuka ti je da umesto da kacis client-side handler, u server-side handleru registrujes page-level startup script (ako mi kazes koja je asp.net verzija mogu ti dati konkretan primer u kodu) i taj skript ce se izvrsiti kad se post-back stranica ucita u klijenta i dobices 'iluziju' da se izvrsio autmatski pritiskom na dugme.

[ apex @ 20.03.2007. 12:19 ] @
Citat:
Moja preporuka ti je da umesto da kacis client-side handler, u server-side handleru registrujes page-level startup script (ako mi kazes koja je asp.net verzija mogu ti dati konkretan primer u kodu) i taj skript ce se izvrsiti kad se post-back stranica ucita u klijenta i dobices 'iluziju' da se izvrsio autmatski pritiskom na dugme.


Koristim asp.net 2.0, ako mozes da postujes kod, bilo bi super, a ja cu u medjuvremenu da progooglam malo.
[ mmix @ 20.03.2007. 12:59 ] @
za asp.net 2.0, C#, u server side handler. Koristi GUID kao key skripte da se ne bi pomesala sa nekom drugom:

Code:


string cmd = "window.open(.........................);";  // ili sta si vec hteo ovde.
ClientScript.RegisterStartupScript (this.GetType(), Guid.NewGuid.ToString(), cmd, true);

[ apex @ 20.03.2007. 13:16 ] @
Znaci google je izbacio bio nesto na ovu temu, pa sam probao:

Code:
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "javascript:...................


Mislim to je isto tvoj kod, samo bez GUID, sto je super resenje.

Inace hvala na odgovoru poshto code sad lepo radi!.

Ali sad imam drugi problem:
Code:
firefox prevented this window from opening popup window

Mucim se sa ovim firefoxom vec dobrih nedelju dana. prosto nista ne prolazi.

Kako moze da mu prodje skript:

Code:
ImageButton2.Attributes.Add("onclick", "javascript: window.open(.........................


a ovaj ne prolazi:

Code:
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "javascript:...................
[ mmix @ 20.03.2007. 14:51 ] @
To je vec sad browser-specific problem. Vecina korisnika uopste ne voli da im web aplikacije otvaraju prozore kako im to padne na pamet i imaju blokade na window.open(). Nije samo firefox, i IE ima slicnu blokadu, i google toolbar ima svoju blkadu, itd, itd. Genralna preporuka danas je da se web aplikacije ne prave tako da zavise od pop-up prozora.
[ apex @ 20.03.2007. 15:04 ] @
Stvar je u tome sto hocu korisniku da se korisniku klikom na thumbnail slike otvori novi prozor sa "normalnom" velicinom slike, a ne vidim drugi nacin osim popup prozora, koji naravno firefox efikasno blokira.

Malo je bezveze da mu se slika otvara u istom prozoru, pa onda mora na 'back' u browseru da se vraca (pa ponovo ucitavanje cele stranice cccccc).
A da ne spominjem to sto ce mi pola prozora zauzimati slika a ostalo ce biti praznina koju sliika ne popunjava, jer ne mogu da definisem velicinu prozora po veleicinlicini slike.

99% resenja koje sam nashao na netu koristi JS koji ne prolazi sa Firefoxom. Onaj 1% korisi neku vrstu Modal Dialoga, koja samo komplikuje celu situaciju.

Jednostavno nemam ideju kako bih to odradio a da nemam problema sa browserima.
[ Shadowed @ 20.03.2007. 16:04 ] @
Mozes imati jedan <div> koji ces skrivati i prikazivati po potrebi i na kojem ce biti slika. Kako ces to razmestiti zavisi od toga kakva je strana ali pogledaj filmstrip prevew u folderu sa slikama na windows-u :)
[ mmix @ 20.03.2007. 16:35 ] @
A ako imas volje, zelje i vremena da se zanimas, mozes da implementiras i overlay modal div, sto je nablize sto se moze doci do popup prozora bez da se aktivira bloker. U principu je smaranje u poredjenju sa inline div-om, ali vredi pomenuti.
Jednostavan primer imas u ovom blogu