Autor Beitrag
neznam
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 08.11.17 09:35 
Hallo zusammen,

ich habe eine Funktion in C#, die ich nun mit JavaScript aufrufen möchte, um sie dann über HTML auf einer Website abzubilden.
Meine Frage ist eigentlich, muss ich alle Funktionen in C# schreiben und dann über JavaScript aufrufen oder kann ich die Funktion auch einfach in JavaScript schreiben und dann über HTML abbilden?

Vielen Dank im Voraus!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20449
Erhaltene Danke: 2263

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 08.11.17 10:00 
Hallo und :welcome:,

also vorweg: C#- bzw. .NET-Code läuft nicht im Browser, sondern nur auf dem Server. Wenn Du diese mit JavaScript aus dem Browser aufrufen willst, musst Du den Server ansprechen (also einen HTTP-Request machen), der führt die Methode aus und liefert Dir das Ergebnis zurück, welches Du in JavaScript weiterverwenden kannst.

Methoden, die nicht auf Informationen des Servers zurückgreifen, kannst Du natürlich auch direkt in JavaScript implementieren. Aber ohne genau zu wissen, was die Methode macht, kann man da weiter nichts zu sagen :nixweiss:

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".

Für diesen Beitrag haben gedankt: neznam
neznam Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 08.11.17 10:48 
Vielen Dank für deine Antwort.

Ich habe das Ergebnis in einem Array gespeichert und möchte dann dieses Ergebnis über JavaScript in HTML bzw. im Web abbilden.
Bin mir aber unsicher bzw. verstehe noch nicht so ganz wie ich das in JavaScript weiterverwenden kann?!

Grüße
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 149
Erhaltene Danke: 27

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Mi 08.11.17 11:19 
Hallo,

in dem Fall wäre es hilfreich, wenn du uns einen Blick in deinen Quelltext werfen lässt, insbesondere auf die Stelle wo du die C# Funktion aufrufst und das Ergebnis in Empfang nimmst. Web Entwicklung ist meist ein ziemlicher Technologie- und Sprachen-Mix. Da fallen allgemeine Antworten schwer, da man nur schwerlich erraten kann auf welchen wegen du genau wandelst.
neznam Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 08.11.17 14:14 
Das ist eigentlich mein Problem, ich habe keine Vorstellung davon wie ich das dort verwenden kann.
Leider bin ich ein Neuling in JavaScript. Und genau das ist mir unklar, wie ich die Variable in der mein Array gespeichert ist übergeben kann.
Hätte da jemand vielleicht ein kleines Beispiel oder ähnliches?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20449
Erhaltene Danke: 2263

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 08.11.17 14:22 
Hallo,

bitte werde doch mal konkreter. So können wir Dir nicht helfen.

Was willst Du konkret tun?
Du schreibst, dass Du "eine C# Funktion" hast. Zeige mal diese Funktion mit ein bisschen Kontext.
Hast Du bereits eine Kommunikation zwischen Browser und Server? Wenn ja, wie ist die umgesetzt?
Hast Du schon Code auf JavaScript-Seite? Wenn ja, wie sieht der aus?

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
neznam Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 08.11.17 15:04 
Hallo,

ich habe hier die Methode:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
JSONArray array = new JSONArray();
JSONObject jo = new JSONObject();
jo.put("test",value);
jo.put("array",array);
array.AddJsonObject(jo);

JSONObject result = new JSONObject();
result.AddJSONArray("array", array);
return Encoding.UTF8.GetBytes(reult.ToJSONString(null));


In JavaScript habe ich bisher:

ausblenden JavaScript-Quelltext
1:
2:
3:
4:
5:
6:
7:
require(["dijit.form.Button""dojo/domReady!"], function (Button) {
myButton = new Button({
title: "Mein Button",
content: "Idealerweise soll hier JSON abgebildet werden",
style: "width: 700px"
});
});


Idealerweise soll das gespeicherte JSON dort dann abgebildet werden.

Grüße
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20449
Erhaltene Danke: 2263

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 08.11.17 15:58 
Es bleibt die Frage:
user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Hast Du bereits eine Kommunikation zwischen Browser und Server? Wenn ja, wie ist die umgesetzt?


Vermutlich damit zusammen hängend: In was für einem Projekt steht der C#-Quelltext?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
neznam Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 08.11.17 16:21 
Wenn ich dich richtig verstehe meinst du HTTP Request?
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 149
Erhaltene Danke: 27

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Mi 08.11.17 16:21 
Hallo,
user profile iconneznam hat folgendes geschrieben Zum zitierten Posting springen:
Leider bin ich ein Neuling in JavaScript. Und genau das ist mir unklar, wie ich die Variable in der mein Array gespeichert ist übergeben kann.

Ok, das war ein Missverständnis, ich ging davon aus, dass das Array bereits eines in deinem Java-Script Code wäre.

Somit bleibt Christians Frage:

user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
In was für einem Projekt steht der C#-Quelltext?


Und wieder einmal kann ich sagen: Herzlich willkommen im Technologiedschungel! :wink:

Das Problem ist, das es etliche Wege gibt, wie Programme miteinander reden können (und darauf läuft es hier hinaus), auch nicht wenige wie dieses über das Netz geschehen kann.

Daher versuchen wir doch einmal dein Szenario zu ergründen:

Wenn ich es Richtig interpretiere, hast du einen Server in C# implementiert, welcher Daten für einen Client (Webanwendung) bereitstellen soll. Mir stellen sich da mehrere Fragen:

  1. Welche Gestalt hat der Server, ist es also ein Windows Service, eine Manuell zu startende EXE oder eine ASP.NET Anwenung oder, oder, oder? ( = Christians Frage)
  2. Läuft dieser auf der gleichen Hardware wie die Webanwendung? Oder im gleichen LAN?
  3. Welche Technologien verwendest du für deine Webanwendung? Nacktes HTML/CSS/Javascript oder vielleicht ein Framework wie z. B. Angular?
  4. Gibt es diese Software schon (Server, oder Client oder beides) und wird es von dir erweitert? Oder schaffst du es neu?
  5. Falls es neu geschaffen wird, was genau willst du erreichen?
neznam Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 08.11.17 16:35 
Hallo,

ich versuche Mal deine Fragen zu beantworten:

1. Es ist ein Windows Service
2. Läuft auf der gleichen Hardware
3. HTML5, CSS3 und JavaScript
4. Gibt es nicht
5. Im Moment wollte ich nur wissen bzw. verstehen wie ich das Array mit JavaScript ansprechen kann und im Web darstellen kann, also wie die Kommunikation aussehen könnte oder sollte.

Vieln Dank!

Gruß
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 149
Erhaltene Danke: 27

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Mi 08.11.17 17:44 
Hallo,

sehr schön da kommen wir doch ein Stück weiter. Auch jetzt meine Praktische Erfahrung für dieses Szenario langsam an ihre grenzen stößt.

Ich würde auf C# Seite wahrscheinlich Windows Communication Foundation (WCF) verwenden, aber dies in erster Linie, weil ich damit schon einmal gearbeitet habe (auch wenn es da um 2 C# Programme in einem Netzwerk ging) und es eigentlich als recht komfortabel empfunden habe. Damit solltest du deinen Service zu einem Server ausbauen können. Ich bin zwar nur mal schnell durch gesprungen, aber dieses Video könnte ein passender Einstig zu dem Thema sein.

Wenn dein Service dann auf auf HTTP-Request hört, kannst du diese hoffentlich auch per JavaScript abfragen, was dann in etwa so funktionieren sollte wie hier beschrieben.
neznam Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 09.11.17 10:47 
Hallo,

und vielen Danke für deine Antwort.
Ich werde das ganze einmal durchgehen und testen.