Avatar billede jespera Nybegynder
20. marts 2005 - 10:03 Der er 12 kommentarer og
1 løsning

Kombiner javascript og c# med Request.QueryString

Hej alle,

Hvordan laver jeg et link med javascript hvis jeg bruger c#...Nede i html code har jeg feks.

a href="#" onclick="openPopup('link.aspx','test','800','600','scrollbars,status,resizable',true)"

men link.aspx skal nu ha en variabel med fra QueryString, hvordan kombinere jeg denne, så jeg link kommer til at se sådan ud efter request.querystring....

link.aspx?mode=23&eksperten=2
Avatar billede plazm Nybegynder
20. marts 2005 - 10:21 #1
ved ikk lige hvordan man gør i asp men i PHP kan man gøre sådan her

<a href="#" onclick="openPopup('link.aspx<?=$_GET['querystring'];?>','test','800','600','scrollbars,status,resizable',true)">link</a>
Avatar billede jespera Nybegynder
20. marts 2005 - 10:24 #2
Åh er det så ikke lidt malplaceret at svare :-) Det er jo et ASP.NET releteret spørgsmål.....
Avatar billede snepnet Nybegynder
20. marts 2005 - 11:12 #3
hej jespera :o)

prøv at kigge på denne artikel :
http://dotnet.org.za/hendrik/archive/2004/03/02/571.aspx

og læg mærke til deres diskussion neders, hvor der også henvises til denne :
http://dotnet.org.za/hendrik/archive/2004/03/02/571.aspx

denne her er ikke direkte relateret, men meget god lige at kaste et blik på :
http://www.devcity.net/Articles/80/1/crosssite.aspx

håber det var sådan noget du var ude efter.
(når du kan hente værdierne fra querystring, skulle du ikke have nogle problemer med at opbygge dit link).

mvh
Avatar billede jespera Nybegynder
20. marts 2005 - 11:29 #4
Jeg er med på at hente variablerne, men hvordan trækkes de ud neden i min html code.....og kan jeg bruge <%= %> til at udskrive querystring med eller skal man skrive response.write....
Avatar billede snepnet Nybegynder
20. marts 2005 - 12:11 #5
jeg er ikke sikker på at jeg er helt med nu, men hvis det du gerne vil er, at generere linket i din c# kode, kan du gøre det med noget i denne stil :

hvis du eksempelvis vil gøre det på en label :

string openerLink = String.Format("link.aspx?mode={0}&eksperten={1}", Request.QueryString["mode"], Request.QueryString["eksperten"]);
someLabel.Text = "somelink";
someLabel.Attributes.Add("onclick", "window.open("+openerLink+");");

du kan i dine codebehind pakke din adgang til querystring ind (specielt hvis du skal bruge variablen flere steder) :

protected string Mode
{
  get{return Request.QueryString["mode"];}
}

så kan du bare senere tilgå den med this.Mode - og du kan i din property indlægge fejlhåndtering, defaultværdier mv... afhængig af hvad der kunne være relevant.

men jeg har muligvis misforstået hvad det er du vil ?

mvh
Avatar billede jespera Nybegynder
20. marts 2005 - 12:24 #6
Okay jeg prøver lige igen.......:-)

Jeg skal have lavet et link som herefter åbner en popup. Javascript kode til popup virker men jeg skal ha smidt nogle flere ting med i url til popup. F.eks. link.aspx?mode=23&eksperten=2

Længere nede i html code er så linket som skal generes ud fra querystring. XXXXX.XXX skal nu erstattes med link.aspx?mode=23&eksperten=2 hvor 2 og 23 kommer fra en QueryString...

<a href="#" onclick="openPopup('XXXXX.XXX','test','300','100','directories,menubar,location,toolbar',true)"><img src="billede" border="0"></a>
Avatar billede snepnet Nybegynder
20. marts 2005 - 13:15 #7
ok..... men så er der vel heller ikke noget i vejen for at du bruger det sidste eksempel jeg skrev, med visse modifikationer :

// i din c# kode
protected string Mode
{
  get{return Request.QueryString["mode"];}
}

protected string Eksperten
{
  get{return Request.QueryString["Eksperten"];}
}

string openerLink = String.Format("link.aspx?mode={0}&eksperten={1}", Request.QueryString["mode"], Request.QueryString["eksperten"]);
ditBillede.Attributes.Add("onclick", "openPopup(" + openerLink + ", ... <de andre parametre til din popup-metode>);");

du kan eventuelt poste din kode her - så skal jeg lægge en løsning ind til dig....
du må undskylde at jeg er lidt tung i det, men det er ikke helt indlysende, hvad det er for en asp.net-løsning du er ude efter, da du ikke rigtig har postet noget endnu der som udgangspunkt er asp.net relateret.

men... smid din kode herud, så skal jeg sende et forslag tilbage :o)

mvh
Avatar billede jespera Nybegynder
20. marts 2005 - 14:03 #8
Jamen, dit sidste var her var meget bedre. Jeg vidste ikke at man kunne tilføje attributter sådan. :-)

Men jeg forstår ikke brugen af String.Format og brugen af {} imellem det hele. Kunne du evt forklare dette?
Avatar billede snepnet Nybegynder
20. marts 2005 - 14:20 #9
jepper...
String.Format sørger for at formatere din streng ud fra de efterfølgende parametre :

eksempel :
String.Format("hej {0} dig", "med");
{0} skiftes ud med parameters[0] altså den første parameter som så er "med".

Et andet eksempel :
String.Format("Billetten til {0} koster {1}... og det er altså {1} kroner", "Århus", 100);

{0} skifter ud med parameters[0] = "Århus", og {1} skiftes ud med parameters[1] = 100

er du med på den ?

mvh
Avatar billede jespera Nybegynder
20. marts 2005 - 14:24 #10
Yes sir :-)  men kan man ikke bare ToSting det istedet eller hvad er fordelen ved at bruge String.Format

Lægger du lige et svar :-)
Avatar billede snepnet Nybegynder
20. marts 2005 - 14:54 #11
du kan snildt gøre det sådan her :

string someString = "hej " + somvar + " dig";

men personligt synes jeg det bliver mere gnidret på den måde, selvom String.Format nok performer ringere her.

... hvis du googler på ord som
StringBuilder
String.Format
Concatenation
performance

kan du finde mange interessante artikler om string-handling i .net.

mvh
Avatar billede snepnet Nybegynder
20. marts 2005 - 14:56 #12
Avatar billede jespera Nybegynder
20. marts 2005 - 18:26 #13
Takker....
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester