VisualBasic aufruf einer Javascript Methode in VB

nickless_86

Commander
Registriert
Juli 2009
Beiträge
2.121
Ich habe in einem Javascript namens JSTest eine Methode XYZTest liegen die mir einen String zurückgiebt...
wie kann ich diese Methode in einem VB aufrufen (innerhalb eines Buttons)...

bereits versucht wurde die response.write methode... allerdings funktionierte die nicht wie gewünscht..

Danke im Voraus
 
Was meinst du mit VB? Visual Basic? ASP.Net? VB Script? Bisschen deutlicher bitte. Wenn es sich um ASP.Net handelt, dann kannst du das gleich knicken, da der ASP-Code im Server ausgeführt wird und der JS-Code im Browser. Die zwei wissen nix voneinander.
Erkläre mal bisschen genauer was du vor hast. Am Ende geht das auch ganz simpel per JS/jQuery.
 
ja ich hab ne asp.net webseite wo ein Button liegt.. und in der Button_click Methode (es ist ein Asp:Button) will ich das machen...
Wie könnte man denn das Umgehen falls es nicht auf diese art geht?
 
Zuletzt bearbeitet:
Was genau hast du denn vor? Ich würde ein JS-Event an den Button packen und dann alles dort abfrühstücken. Wenn du daten wirklich an den Server übergeben musst, dann per Ajax-Call einen Webservice aufrufen, der die Daten vom JS entgegen nimmt und im Server verarbeitet. Schreib mal etwas ausführlicher, dann wird dir auch geholfen :)
 
Das Problem ist ich muss das ganze dynamisch nachladen... sprich wirklich bei einem Mausklick auf nen Button und kann das ganze nicht schon im vornherein definieren!
Ergänzung ()

Also folgendes: Ich habe einen WebService der ne Datenbank abfrage in einen JSONstring umwandelt.
Anschliessend möchte ich diesen String in einer JavaScript variabel clientseitig abspeicher damit
sie in clientseitigen JavaScript's weiterverwendet werden kann.

Ich habe es bereits mit Response.Write("<script type='text/javascript'>alert('blabla');</script>") versucht,
aber dein Schreiben oben besagt, dass dies nicht funktioniert.

Ich bevorzuge die Button-Methoden in VB, daher wollte ich soviel wie möglich dort realisieren.
 
Wie schon gesagt funktioniert das so nicht. Wenn du in ASP.net einen BUtton drückst, dann verursacht das einen Postback an den Server, die Seite wird neu geladen und er dann wird das Event des Buttons im Server behandelt. Wenn das dynamisch sein soll, dann schreib doch einen Webservice, der die Daten aus der DB holt. JSON ist klasse, da das wunderbar im JS funktioniert.
http://msdn.microsoft.com/de-de/library/bb979325.aspx hier eine Anleitung für einen Webservice. Bisschen suchen, dann fidnet man sicher noch bessere.
Dazu würde ich dir raten die mal mit jQuery zu befassen. Das erleichtert vieles ungemein. An den Button kommt ein onclick-event, welches eine JS-Funktion aufruft. Diese kann dann z.B. per http://api.jquery.com/jQuery.ajax/ den Webservice aufrufen (url = Webservice-URL) und in der Success-Methode dann die entgegengenommenen Daten verarbeiten.
Wenn das jetzt zu schnell war, dann einfach bisschen googlen. ASP.Net und Webservice, sowie jQuery und Ajax. Da sollten massig gute Tutorials bei rauskommen.
Achja: Das Postback muss am Button natürlich unterdrückt werden.
 
Ich hab bereits einen Webservice der mir die Daten aus der DB holt... diesen in JSon umwandelt und den dann als JSON String bereitstellt... nur brauch ich genau diesen String nun in einem JAVAScript

das mit dem Postback , vertehe ich das richtig, dass ich den umgehe indem ich den Button in einem Update-Panal (also ASP.Net Ajax) verwende?

Wollte eigentlich die ASP Buttons nutzen... müsste ich nach deiner Ansicht nun die vom JQuery nutzen?
 
Uh die Updatepnel vom ASP sind mist wenn man einmal gelernt hat, dass man den Spaß auch mit simplem Javascript realisieren kann :)
Ich würde an deiner Stelle einfach einen normalen HTML-Button setzen und keinen ASP.
Dann bindest du jQuery ein und nutzt z.B. folgendes:

<script type="text/javascript">
jQuery(docuemnt).ready(function(){
$('#id_des_buttons').click(function() {
$.ajax({
url: "url_des_webservices",
success: function(data){
// do something with data
var myName = data.name und so weiter
}
});
});

});
</script>

So in etwa. Generell kann ich dir nur raten so wenig ASP.Net wie nötig zu benutzen. Klar sieht es zu Begin ganz schick aus, aber es ist aufwendiger als wenn man den Spaß in HTML und JS schreibt.
 
im Moment Siehts bei mir so aus..
Code:
<script type="text/javascript">
		var serviceURL = "http://MeineDomain:8000/WebHost/KonfigDBService.svc/"
		$(document).ready(function () {

			$('#Button1').click(function () {
				$.ajax({
					url: serviceURL + "SELECTbauteil",
					contentType: "application/json; charset=utf-8",
					dataType: "json",
					success: function (data) {alert(data.d)},
					error: function (xhr){alert(xhr.status);}
				});
			});
		});
	</script>

doch dabei bekomm ich immer einen Bad Request wenn ich das im Firebug anschaue...
Dabei muss ich sagen, dass der Service per Http und die Webseite per Https gehostet ist, falls dies eine Rolle spielt
 
Zurück
Oben