Avatar billede pablopablo Nybegynder
25. april 2008 - 16:51 Der er 12 kommentarer og
1 løsning

Kald af JavaScript

Hejsa...Jeg ønsker at kalde et JavaScript som åbner en anden side på en anden server...Men jeg skal kunne kalde javascriptet direkte fra min C# codebehind code...UDEN at binde det op til noget onClick event eller noget...

Jeg har prøvet med:

Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "Mit_JavaScript");

Men det virker ikke...alle de eksempler jeg kan finde på MSDN benytter ikke 3 in-parametre, men kun 2, trods metoden kræver det, så derfor har jeg blot skrevet "test", så det er måske der fejlen ligger?

Håber meget at I kan hjælpe mig!

Mvh. PabloPablo
Avatar billede arne_v Ekspert
26. april 2008 - 04:30 #1
Her er et komplet eksempel der virker:

<%@ Page Language="C#" %>
<script runat="server"> 
void Page_Load(Object sender, EventArgs e)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "alert('Det virker !');", true);
}
</script>
<form id="form1" runat="server">
</form>
Avatar billede arne_v Ekspert
26. april 2008 - 04:31 #2
Forskellen på 2 og 3 argumneter skyldes at Page.RegisterStartupScript <> Page.ClientScript.RegisterStartupScript !
Avatar billede pablopablo Nybegynder
26. april 2008 - 08:11 #3
Hey Arne! Ja det fandt jeg faktisk også ud af i nat...hehe
Jeg har dog ikke pt. sat den fjerde parameter...addScriptTags...hvilken indflydelse gør den?
Læg blot et svar for din indsats :-)
Avatar billede pablopablo Nybegynder
26. april 2008 - 10:05 #4
Hej igen...kan du ikke lige vise mig hvordan en confirm dialog ser ud som gør at der ikke køres videre i koden hvis brugeren klikker "nej"...
Avatar billede arne_v Ekspert
26. april 2008 - 15:44 #5
<%@ Page Language="C#" %>
<script runat="server"> 
void Page_Load(Object sender, EventArgs e)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "if(confirm('Vil du fortsætte')) { alert('Det virker !'); };", true);
}
</script>
<form id="form1" runat="server">
</form>
Avatar billede arne_v Ekspert
26. april 2008 - 15:44 #6
og et svar
Avatar billede pablopablo Nybegynder
26. april 2008 - 16:07 #7
Jeg har indsat min kode i nedenstående event:
Det jeg ønsker er, at hvis brugeren klikke nej til til confirm dialogen så skal koden returnere/stoppe og selvfølgelig forsætte hvis han klikker på ja...


protected void GVshows_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    if(bruger klikker nej)
          slet ikke den pågældende række - stop kode.
}

kan du oversætte ovenstående til reel kode? :-)
Avatar billede arne_v Ekspert
26. april 2008 - 16:28 #8
øh

din .aspx side kører på serveren og outputter noget HTML og JavaScript til browseren

browseren udfører JavaScript kode

det vil kræve en tismaskine der kan gå tilbage i tiden at have din C# kode server
side reagere på hvad brugeren vælger i JavaScript
Avatar billede arne_v Ekspert
26. april 2008 - 16:28 #9
en tidsmaskine
Avatar billede arne_v Ekspert
26. april 2008 - 16:30 #10
du har brug for et roundtrip mere til server

evt. pakket ind i noget AJAX
Avatar billede pablopablo Nybegynder
26. april 2008 - 22:35 #11
hehe...okay...ja det er rigtig...min tanke var i første omgang, at man ligesom normalt ved brug af JS kunne bruge en if-else sætning...men ja det dutter ikke ved server side code...jeg har brugt flere forskellige AJAX controls tidligere...bla. http://www.asp.net/learn/ajax-videos/ nr. 29....confirm button extender...den kan man binde op på server controls...fx. buttons...ved du om gang på en eller anden måde kan koble min c# kode sammen med denne...hvis ikke...har du så et foreslag til hvordan det muligvis ellers kan løses...??
Avatar billede arne_v Ekspert
27. april 2008 - 04:38 #12
Desværre har jeg aldrig brugt AJAX i ASP.NET ...
Avatar billede pablopablo Nybegynder
28. april 2008 - 09:57 #13
okay...altså ligesom man kan koble en helt normal confirm dialog op til en click event på en knap....kan man så ikke også gør det på min RowDeleting event på mit GridView?
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