Webapplikation mit ASP.NET

garcipat

Cadet 1st Year
Registriert
Apr. 2011
Beiträge
15
Hallo miteinander

Ich arbeite zur Zeit an meiner Bachelor arbeit in welcher ich eine Webapplikation entwickeln muss.
Nun stehe ich an einem grossen Problem und ich finde keine sinnvolle Lösung. Suche bereits seit mehreren Tagen.

Erstmal mein Problem kurz gefasst.

Ich muss Daten aus einer Tabelle einer Datenbank in eine var in JavaScript in form von JSON bringen.

Schilderung meiner Arbeitsumgebung:
Datenbank: SQL Server 2008
Webhosting: IIS 7
Webumgebung: ASP.NET

Eigentlichw ar ein Webservice für die Abfragenabwicklung vorgesehen,
jedoch bin ich an der Implementierung dessen und gescheitert.

Ich hab mich schon intensiv mit dem Thema AJAX, jQuery und Webservice auseinandergesetzt,
hab die Technologien aber nicht so verbinden können, dass was brauchbares entstanden ist.

Hat einer nen vorschlag wie ich diese Bereiche am besten mische,
resp. welche Sprache am besten welchen Teil übernimmt?

Für zusätzliche Angaben einfach bescheid geben.

Vielen Dank im Voraus

garcipat
 
Ich bin wahrlich nicht der firmste im Umgang mit ASP.NET, aber einfach ne Tabelle in einer Webseite anzeigen ist auch für mich echt einfach. Wenn ich mir das so überlege braucht man dazu keine einzige Zeile Code schreiben. Da reichen ein DataSet, ein DataGrid Steuerelement und ein paar Mausklicks.

WebSerivces bauen ist übrigens auch recht einfach. Einfach nen Websevice per Vorlage anlegen und jede Funktion die nach außen verfügbar gemacht werden soll per Attribut [WebMethod()] deklarieren. Ne WSDL wird automatisch beim Kompilieren erzeugt. Man muß nur bedenken, dass Webservices standardmäßig keinen langen Lebenszyklus haben.
 
Zuletzt bearbeitet:
Die Sache ist nicht so, dass ich die Daten einfach auf der Site darstellen muss.

Ich brauche die daten in Form eines Arrays oder im JSON Format in einer Javascript Variabel um sie weiterverarbeiten zu können.

Danke für die Links, ich werd mir die gleichmal zur Gemüte führen.

EDIT: Links angesehen
Da seh ich wieder mein Problem, die Service Scripts sind alle in JavaScript geschrieben.
Ich möchte nach Möglichkeit emine Methoden für Datenbankabfragen in VB schreiben.
 
Zuletzt bearbeitet:
Ich nehm jetzt einmal du bist kein Informatik Student.

Wieso suchst dir nicht einfach einen Informatik Studenten der Erfahrung mit ASP hat und lasst dir helfen. Kostet zwar etwas ist aber vermutlich sinnvoller.
 
Mein Studiengang hat einen grossen Anteil an Informatik. Einen Informatikstudiengang auf
unserem Campus gibts leider noch nicht lange (erst nach meinem Jahrgang entstanden) und diese
Studenten beschäftigen sich soweit ich weiss nicht mit Webentwicklung.

Ich kenne mich mit vielen Sprachen aus und möchte die die ich bereits kenne, nutzen.
 
Kann dir direkt da leider nicht helfen bin da mehr inder JAVA welt beheimatet.
Würde aber empfehlene auf nicht zu mächtigen Frameworks / Technologien einzugehen da diese zwar meist schneller zum Ziel führen aber in der Einarbeitung aufwendiger sind.
 
falls erwünscht kann ich auch Codeausschnitte Posten um mein Problem genauer zu erläutern.
Ich habe mitlerweilen verstanden wie ich die VB-Methoden aufrufe, aber die Methode schlägt immer fehl resp es erfolgt immer die onFailed methode.

JavaScript (Aufruf der Servicemethoden)
Code:
$(document).ready(function () {
			$("#btn1").click(function (event) {
					$.ajax({
						type: "POST",
						url: "dummySevice.asmx/HelloToYou",
						data: "{'name': '" + $('#txt1').val() + "'}",
						contentType: "application/json; charset=utf-8",
						dataType: "json",
						success: function (msg) {
							AjaxSucceeded(msg);
						},
						error: function (msg) {
							AjaxFailed(msg);
						}
				});
			});
		});
		function AjaxSucceeded(result) {
			$("#lbl1").html(result.d);
		}
		function AjaxFailed(result) {
			$("#lbl1").html(result.status + ' ' + result.statusText);
		}

Und Hier der Service Code:
Code:
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Web.Script.Services

' Um das Aufrufen dieses Webdiensts aus einem Skript mit ASP.NET AJAX zuzulassen, heben Sie die Auskommentierung der folgenden Zeile auf.
' <System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class dummyService
	  Inherits System.Web.Services.WebService

	 <WebMethod()> _
	 Public Function HelloToYou(ByVal name As String) As String
		  Return "Hello " & name
	 End Function

End Class
 
Zuletzt bearbeitet:
eigentlich kannst dir wirklich alles aus examples und tutorials zusammenklickern.
vor allem webservices-herzustellen sind für den client maximal 5 klicks.

schau dir doch mal "razor" an. einfach mal nach "asp.net razor" googlen
das tolle daran ist, dass du dem einfach ne datenbanktabelle als entityliste in die view schmeisst und der ganz automatisch <table>s anlegt, die werte für die anzeige anpasst und standard crud buttons für jedes feld mit funktion zur verfügung stellt.
 
Zuletzt bearbeitet:
Warum um Himmels Willen muss man sich unbedingt sowas mit selbstgeklöppeltem Javascript antun wenn .NET diese Fieselarbeit mit dem CodeBehind-Modell so schön kapselt?
Ist das eine absichtlich so gestellte Aufgabe um die Studenten zu ärgern?

Für ASP.NET Seite mit Button, bei dem nach einem Klick das Resultat eines Webserviceaufrufs kommt
braucht man 5 Minuten klicki-klicki und vielleicht 10 Zeilen Code. AJAX inklusive ohne das man was davon merkt.
 
Ich arbeite noch nicht all zu lange mit ASP.NET.
Die Site ist ja nur zum testen, sodass ich mal ne Nachricht an den Server und zurückschicken kann.
Die Sache ist die, dass ASP.Net mit dem Updatepanel arbeitet und dies zu langsam ist oder später zu Performance-Problemen führen könnte,
daher wollte ich mit jQuery arbeiten was JavaScript voraussetzt.

Ich versuch das mit den Tutorials seit Tagen leider. Meistens ist da noch mit C# und davon hab ich kein Plan und vom Kunden ist dies nicht gewünscht.

Ich werd mir die Sache mit dem Code behind aber nochmal zu Gemüte führen und sehen,
ob ich doch noch schlau werde.

Und das mit razor ebenfalls.

Danke für die Unterstützung und Tipps

EDIT: Das mit dem Code behind hat gut geklappt. Ich fragmich nur ob das jetzt mit AJAX passiert oder das einfach so schnell geht mit neuladen, dass ichs nicht merke.

Möchte noch anfügen, dass ich JavaScript benötige, da ich mt tWebGL arbeiten will und das beruht auf JavaScript.

Ich benötige also einfach nen Weg der von VB Code behind Daten in ne JavaScript Variabel steckt.
 
Zuletzt bearbeitet:
Bei Deinem Codebeispiel wurde wohl immer AjaxFailed aufgerufen weil Du die eine Zeile nicht auskommentiert hast:
Code:
' Um das Aufrufen dieses Webdiensts aus einem Skript mit ASP.NET AJAX zuzulassen, heben Sie die Auskommentierung der folgenden Zeile auf.
' <System.Web.Script.Services.ScriptService()> _
:p
 
Hehe danke :-) hab am Freitag nach viel Testen das auch egfunden :-D

gut dass es nicht nur mir aufgefallen ist resp wenn ichs nich gefunden hätte.
Das war standardmässig auskommentiert beim einfügen des Services :-S

Mein Mitstudent hat allerdings den WCF Service zum laufen gebracht,
dementsprechend entfällt die Sache mit meinem ein wenig.

Aber vielen Dank!

Nun bleibt nurnoch die Frage wie ich DB-Abfragen ergebnisse javascript übergebe
 
garcipat schrieb:
EDIT: Das mit dem Code behind hat gut geklappt. Ich fragmich nur ob das jetzt mit AJAX passiert oder das einfach so schnell geht mit neuladen, dass ichs nicht merke.

In deinem Projektbaum müsstest du unter dem Ordner "Scripts" die jQuery Dateien vorfinden. Die werden für das Update des Contents verwendet. Es wird also nicht neu geladen.

Wenn du z.B. in der Webseite einen Content definierst und mit runat=server dem Server verfügbar machst, kannst du ihn im CSharp (oder VB.NET) Code direkt ansprechen. Das wird dann AJAX-mäßig abgewickelt. Wenn du also z.B. ein DataGrid auf die Webseite pappst und über einen Buttonklick dann die DataSource-Eigenschaft auf deine Datenbanktabelle setzt, dann zeigt das Grid ohne die Seite komplett neu zu laden die Ergebnisse an.
Das rumgeajaxe (:D) findet alles im Hintergrund statt und du brauchst dich nicht weiter drum zu kümmern.

PS: Finds schon komisch dass dein Kunde etwas gegen CSharp oder VB.NET als Programmiersprache hat, aber trotzdem auf Windows Server, ASP.NET und SQL Server setzt. Aber gut. Jeder wie er meint.
 
VB ist ja die Ziel sprache resp es sollte möglichst in VB programmiert werden,
da uns dies die geläufigste Sprache ist. Er möchte nur kein c-Sharp.

Hab ne Möglichkeit gefunden Codebehind funktionen aufzurufen mit Javascript udn somit kann ich ner var result von den funktionen zuweisen (strings)

teste das grade aus. Schreib die Lösung hin sobald ichs Ergebnisse habe
 

Ähnliche Themen

Zurück
Oben