[ASP.NET] JS functie aanroepen

Pagina: 1
Acties:

  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
Hey is het mogelijk om vanuit asp.net (vb.net code) een Javascript functie aan te roepen? en zo ja weet iemand hoe dat moet?

🇪🇺 pro Europa!


  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
Ah ik heb het gevonden,

het moet nl. gewon met repsonse.write()

🇪🇺 pro Europa!


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je kan het beter doen met
Page.RegisterClientScriptBlock( "key", "script" );
of
Page.RegisterStartupScript( "key", "script" );

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
Hoe moet ik dat in mijn asp.net pagina zetten dan ??

🇪🇺 pro Europa!


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Rhapsody schreef op 10 december 2002 @ 22:18:
Hoe moet ik dat in mijn asp.net pagina zetten dan ??
Kijk eens op Google

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
hey,

heb het een en ander gevonden:

code:
1
2
3
4
5
6
7
8
9
Dim scriptString as String = "<script language=JavaScript>"
scriptString += "function DoClick(Url) {"
scriptString += "location.href= Url }<"
scriptString += "/"
scriptString += "script>"

If(Not IsClientScriptBlockRegistered("clientScript"))
   RegisterClientScriptBlock("clientScript", scriptString)
end if


Ik wil nu graag dat als ik op een linkbutton deze functie word uitgevoerd (dus DoClick met de variabele url erbij)

Maar dat wil op de een of andere manier niet. Ik krijg deze fout:

Name 'DoClick' is not declared.


weet iemand wat er fout is? Of tenminste hoe ik die DoClick('') nog moet declareren

[ Voor 14% gewijzigd door Rhapsody op 10-12-2002 22:47 ]

🇪🇺 pro Europa!


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Kijk eens verder in het voorbeeld:
<body topmargin="20" leftmargin="10">
<form id="myForm" runat="server">
<input type="text" id="show" style="width=200">
<input type="button" value="ClickMe" onclick="DoClick()">
</form>
</body>
Het is een javascript functie.

Of je moet attributes toevoegen aan een button control voor het (clientside) OnClick-event. (zelfde principe)

* gorgi_19 kijkt nog eens goed naar de originele vraag... Je wilt serverside een clientside Javascript-functie aanroepen? :?

[ Voor 51% gewijzigd door gorgi_19 op 10-12-2002 22:52 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
ja dat voorbeeld had ik ook, maar ik gebruik een asp.net control omdat ik nl de waarde van label2 mee wil geven.

en dat leukt mij niet :(

In deze code wil ik hem aanroepen:

code:
1
2
3
4
5
Sub cmdBekijken_Click(sender As Object, e As EventArgs)
  if (lstSearchItems.SelectedIndex > -1) then
    Label2.text = lstUrls.Items(lstSearchItems.selectedindex).text
  end if
End Sub

[ Voor 47% gewijzigd door Rhapsody op 10-12-2002 22:53 ]

🇪🇺 pro Europa!


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 volgt er absoluut niets meer van.....

Kan je eens wat code posten?

* gorgi_19 heeft het idee dat er nu drie onderwerpen door elkaar heen lopen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Werkt
Visual Basic:
1
Label2.text = lstUrls.SelectedItem.Value

Niet?

[ Voor 11% gewijzigd door gorgi_19 op 10-12-2002 22:56 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
hehehe

ik heb een stukje vb.net code en een stukje Javascript code.
Nu wil ik dat als de gebruiker op de knop drukt (een asp.net linkbuttoncontrol) dat beide functies uitgevoerd moeten worden.

1 functie is gewoon een vb functie om de geselecteerde text (uit een listbox) op het scherm te zetten., deze functie werkt ook, dus dat stukje is klaar.
de 2de functie is een javascript functie, deze functie moet (eigenlijk) een pagina openen in een ander frame op basis van de geselecteerde text van die listbox.

Ik heb voor een javascript functie gekozen omdat ik in ASP.NET niks kon vinden om in een ander frame een pagina te laden.

In mijn vorige posts staan beide stukken code.

alvast heel erg bedankt

[ Voor 4% gewijzigd door Rhapsody op 10-12-2002 22:59 ]

🇪🇺 pro Europa!


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 snapt het.. :)

Het tweede gedeelte (je eigenlijke probleem) heeft niets met ASP.Net te maken.

Je zult het eerst in Javascript moeten oplossen. Vervolgens kan je dit Javascript statement koppelen aan je button door middel van:
buttonname.attributes.add("OnClick","Javascript-statement / functie")

[ Voor 9% gewijzigd door gorgi_19 op 10-12-2002 23:09 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
Hartstikke bedankt, ik ben er weer een stapje dichterbij.

Nu geeft ie enkel nog een fout op deze regel:

code:
1
2
cmdBekijken.attributes.add("OnClick","
Javascript:DoClick(lstSearchItems.selectedItem.text)")


De error luidt: Object Expected

🇪🇺 pro Europa!


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

code:
1
lstSearchItems.selectedItem.text

Je moet hier wel de Javascript-equivalent van nemen... :)
En het op 1 regel zetten..

[ Voor 12% gewijzigd door gorgi_19 op 10-12-2002 23:19 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
Ja heb het ff geknipt voor de breedte van het bericht.

Ehm dan heb ik nog 1 klein probleempje :

code:
1
2
3
cmdBekijken.attributes.add("OnClick",
"Javascript:DoClick(document.myform.lstUrls.items
(document.myform.lstSearchItems.selectedindex).value)")


wat is hier fout aan?

[ Voor 16% gewijzigd door Rhapsody op 10-12-2002 23:26 ]

🇪🇺 pro Europa!


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Rhapsody schreef op 10 December 2002 @ 23:24:
Ja heb het ff geknipt voor de breedte van het bericht.

Ehm dan heb ik nog 1 klein probleempje :

[code]cmdBekijken.attributes.add("OnClick",
"Javascript:DoClick(document.myform.lstUrls.items
(document.myform.lstSearchItems.selectedindex).value")code]

wat is hier fout aan?
Ik heb geen idee met deze info. Dit is een Javascript probleem, waarschijnlijk met een verkeerde verwijzing, waarbij ik niet weet hoe de elements heten op fouw form.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 10:52
gorgi_19 schreef op 10 December 2002 @ 23:18:
code:
1
lstSearchItems.selectedItem.text

Je moet hier wel de Javascript-equivalent van nemen... :)
En het op 1 regel zetten..
En die Javascript-equivalent krijg je door: lstSearchItems.ClientID te gebruiken.
Dan wordt het dus zoiets:
code:
1
cmdBekijken.attributes.add("OnClick","Javascript:DoClick(" + lstSearchItems.ClientID + ".value)")

  • Rhapsody
  • Registratie: Oktober 2002
  • Nu online

Rhapsody

In Metal We Trust

Topicstarter
het is eindelijk gelukt:

code:
1
2
3
4
5
6
7
8
9
10
Sub FrameRedirect(ByVal url As String, ByVal target As String) 
    Dim script As String = "<script language=""JavaScript"">" 
    script += "parent.frames[""" + target + """].location.href=""" 
    script += url + """;</" 
    script += "script>" 
    
    If Not IsStartupScriptRegistered("redirect") Then 
        Me.RegisterStartupScript("redirect", script) 
    End If 
end Sub


Is het uiteindelijk geworden

[ Voor 173% gewijzigd door Rhapsody op 10-12-2002 23:49 ]

🇪🇺 pro Europa!


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:27

mulder

ik spuug op het trottoir

Je kunt ook Response.Redirect gebruiken

oogjes open, snaveltjes dicht

Pagina: 1