Categories: Software

Worin liegt der Sinn von .NET?

Zurück zum Client

Einige grundlegende Funktionen von Anwendungen können derzeit nicht allein vom Server aus gesteuert werden. Man denke zum Beispiel an den Fokus eines TextBox-Server-Steuerelements. Zurzeit gibt es in .NET weder eine Methode, noch eine andere Möglichkeit zur Einstellung des Fokus eines Serversteuerelements, und so muss die Anfrage über ein Client-Skript abgewickelt werden. Wenn das Steuerelement sich direkt auf den Web-Formular befindet handelt es sich um eine relativ einfache programmierte Aktion: Auf das Server-Steuerelement wird über seine ID zugegriffen und die Fokus-Methode aufgerufen.

Die Lage wird allerdings verwickelter, wenn es sich bei dem Steuerelement um eine Unterkomponente von DataGrid, DataList oder eines anderen kombinierten Steuerelements handelt. Sagen wir einmal, man möchte den Fokus auf eine TextBox innerhalb eines DataGrid-Steuerelements legen, wenn das Raster zunächst in den Bearbeitungsstatus geht. Wie bei einem einzelnen Steuerelement verwendet man die ID des Steuerelements um die Fokus-Methode aufzurufen. In der Entwurfsphase existiert die betreffende TextBox jedoch noch nicht, da das Raster noch nicht ausgefüllt ist. Es muss also zur Laufzeit (bzw. auf die entsprechende Anfrage hin) ein Client-Skript auf dem Server erzeugt und an den Client weitergeleitet werden. Da der Client die ID des angepeilten Steuerelements angeben muss, muss der Programmcode die ausgewählte Seite und die ausgewählte Spalte im DataGrid bestimmen und die ID der entsprechenden TextBox ausfindig machen.

Ähnliche Schwierigkeiten entstehen beim Aufrufen einer der einfachsten Client-Interaktionen, der Meldungs-Box (alert box). Da es sich bei der Meldungs-Box um eine rein Browser-basierte Funktion handelt, verfügt .NET nicht über einen Aktivierungsmechanismus. In diesem Fall muss ein Client-Skript erzeugt werden, das Zugriff auf das DOM des Browsers nimmt und die alert-Methode aufruft. Das Client-Skript selbst ist trivial, aber in Verbindung mit anderen Aktionen, etwa der Löschfunktion des Server-Steuerelements DataGrid, muss man wiederum Servercode schreiben, um die ID der Unterkomponente herauszufinden und sie in das erzeugte Client-Skript einzufügen.

Sag niemals nie

Microsoft stellt sich eine auf Server-basierter Verarbeitung von Ereignissen und automatisch generiertem Client-Skript gegründete, höchst interaktive Zukunft vor. Zurzeit kann man dieses Zukunftsmodell, aufgrund von Verarbeitungskapazitäten der Server, Netzwerk-Latenz und Browser-Inkompatibilitäten nur sehr vorsichtig angehen. Aber im Zeitalter ständig schneller zunehmender Netzwerk-Bandbreiten und Prozessorkapazitäten ist Microsofts Zukunftsvision von der ungehemmten Abwicklung von Ereignissen auf dem Server und Drag & Drop JavaScript wahrscheinlich nur noch einen Mausklick entfernt.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

So günstig & effizient war Content Produktion noch nie: Neues Content System erobert deutschen Markt

Kontinuierliche Content Produktion und Markenaufbau sind essentieller Pfeiler von langfristigen Unternehmenserfolg. Das ist mittlerweile auch…

3 Tagen ago

Lenovo übertrifft die Erwartungen und hebt Prognose an

KI-Funktionen beschleunigen die Erholung des PC-Markts. Der Nettogewinn legt um 44 Prozent zu, der Umsatz…

4 Tagen ago

Bedrohungsakteure betten Malware in macOS-Flutter-Anwendungen ein

Googles App-Entwickler-Kit dient der Tarnung des schädlichen Codes. Der Sicherheitsanbieter Jamf hält die Schadsoftware für…

4 Tagen ago

CopyRhadamantys greift weltweit Unternehmen an

Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.

1 Woche ago

Facebook Marketplace: EU verhängt Geldbuße von fast 800 Millionen Euro gegen Meta

Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…

1 Woche ago

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

1 Woche ago