Aktuelle Posts

Der Internet Explorer 9 aus Entwicklersicht


by Marc André Zhou March 17, 2011 02:50
Pünktlich zum offiziellen Release des Internet Explorers 9 ist mein Artikel zum IE9 aus Entwicklersicht erschienen: IE9: Der letzte Schrei lesen

Tags: ,

Artikel | Browser | CSS | HTML | JavaScript

Artikel: Neuerungen im Internet Explorer 8


by Marc André Zhou January 01, 2009 04:23
Mit dem Erscheinen des Internet Explorers 8 werden dem Entwickler einige neue nützliche Erweiterungen und Neuerungen zur Seite stehen. Ebenfalls wurden einige zuvor nicht korrekt implementierte Document-Object-Model-APIs (DOM) überarbeitet und dem Standard angepasst, wodurch bisher getätigte Workarounds überflüssig werden. Dieser Artikel geht auf die wichtigsten Neuerungen und Änderungen ein. Darüber hinaus wird geklärt, wie bisherige, bereits produktive Web-Anwendungen vom IE 8 behandelt werden. Mehr ...

Tags: ,

Browser | CSS | HTML

Migration: Northwind nach ASP.NET mit AJAX Erweiterungen


by Marc André Zhou March 16, 2007 06:13

Auf meiner Homepage steht auf der folgenden Seite:

Northwind Sample

die erste BETA Version der Northwind Anwendung als ASP.NET Anwendung bereit. Diese Anwendung basiert auf der bekannten MS Access Northwind Anwendung. Ich habe diese beispielhaft nach ASP.NET migriert und zusätzlich AJAX Erweiterungen eingebaut, um ein "Rich GUI" umzusetzen.

Aufgrund der hohen Nachfrage aus der Community, habe ich bereits eine BETA Version auf meiner Homepage veröffentlicht.

Fehler und Wünsche können mir per Mail mitgeteilt werden.

Tags: , ,

ASP.NET | JavaScript | Browser | HTML | C# | AJAX | AJAX Control Toolkit | CSS

Back Button Funktion im Browser unterbinden/abschalten


by Marc André Zhou February 27, 2007 05:49

Eine häufige Anforderung ist das Unterdrücken der Navigationsfunktion des Browser, insbesondere die Back - Funktion, die den Benutzer wiederauf die vorherige Seite führt. Soll dies verhindert werden, so muss auf der betroffenen Seite, also auf die nicht mehr gesprungen werden soll, folgender Javascript Aufruf erfolgen:

<script>
  window.history.forward(1);
</script>

Tags: , , ,

JavaScript | Browser | HTML

Javascript in einem GridView (Aufruf von Javascript in einem Gridview)


by Marc André Zhou February 16, 2007 06:01

Oft sind es anscheinend die einfachen Dinge im Leben, die das Leben schwer machen können. So versuchte ich einen Javascript-Aufruf innerhalb eines GridView zu realisieren. Dazu benutzte ich ein HyperLinkField, da dies für mich das wohl geeigneteste Control darstellte. So schrieb ich folgende Codezeile:

<asp:HyperLinkField HeaderText="Edit" Text="Details" DataNavigateUrlFields="EmployeeID"
DataNavigateUrlFormatString="javascript:OpenDialog({0})" />

Mit leider mässigen Erfolg. Das GridView "verschluckte" meine Anweisung und zeigte keinen Link an.

Erst nach langen Versuchen versuchte ich es mit einem BoundField und implementierte die folgende Codezeile:

<asp:BoundField DataFormatString="<a href=javascript:OpenDetailDialog({0})>{0}</a>" DataField="ProductID" HeaderText="Edit Item" />

So zeigt das GridView den Link an und die Javascript-Methode kann ohne Probleme aktiviert werden.

Tags: , ,

ASP.NET | GridView | Controls | JavaScript | Browser | HTML

AJAX: Popup Control und manuelles anzeigen


by Marc André Zhou February 09, 2007 06:05

Möchte man das AJAX Popup Control (PopupControlExtender) verwenden und selbt mit Hilfe von Javascript aufrufen und anzeigen, so muss das Event Bubbling deaktiviert werden. Wird es nicht abgeschaltet, so wird das Popup Fenster direkt wieder geschlossen.

Beispiel:
event.cancelBubble = true;
// show the popup...
$find('popupBhvr').showPopup();

Tags: ,

JavaScript | Browser | HTML | AJAX | AJAX Control Toolkit

ASP.NET: Postback unterbinden mittels Client Script


by Marc André Zhou February 02, 2007 06:11

In manchen Fällen möchte man bei einem Control Click (Button, etc.) eine Prüfung durchführen und bei Misserfolg den Postback, also den Submit Vorgang, abbrechen. In den meisten Fällen reichen die ASP.NET Validatoren und die eigenen (ASP.NET Custom Validatoren) aus um den gewünschten Effekt zu erreichen.
Teilweise kann es allerdings nötig werden, über eine weitere Javascript Methode, den Postback Vorgang zu steuern.

Dies kann wie folg erreicht werden:

Die Methode CustomValidate() muss entweder false oder true zurückliefern:

function CustomValidate()
{
 if (ok)
  return true;
 else
  return false;
}

Tags:

ASP.NET | JavaScript | Browser | HTML

ASP.NET / AJAX 1.0: Fehler im modalen Dialog


by Marc André Zhou February 02, 2007 06:09

Ende des vergangenen Monats (Januar) meldete ich einen Bug bei dem modalen Dialog Extender (ModalPopupExtender). Ist der Dialog geöffnet und man benutzt die ENTER / RETURN Taste, werden die DropDown-Controls (HTML Select Controls) nach dem Schließen des Dialogs nicht mehr auf der Ursprungsseite angezeigt.

Das Verhalten ist nun offiziell als Bug eingestuft worden und aufgenommen: Klick hier

Als Workaround bietet sich ein globaler Javascript Eventhandler an, der alle Enter Ereignisse auffängt und vernichtet.

ASP.NET Forum Beitrag: Klick hier

Tags: ,

JavaScript | Browser | HTML | AJAX | AJAX Control Toolkit

Festes Layout bei langen Texten


by Marc André Zhou February 02, 2007 06:08

Um ein festes Layout auch bei langen Texten zu gewährleisten, die z. Bsp. aus einer Datenbank geladen werden, bietet sich folgendes CSS an:

<div style="text-overflow : ellipsis; overflow: hidden; width: 65px;">
    <nobr>Festes Layout auch bei langen Texten</nobr>
</div>

Ergibt folgende Ausgabe:

Festes Layout auch bei langen Texten

Kann gut verwendet werden bei einem GridView und festen Spaltenbreiten.

Tags: ,

Browser | CSS

Zugriff auf Elemente per Javascript


by Marc André Zhou January 27, 2007 06:23

Der Zugriff auf Elemente per Javascript erfolgt gewöhnlicherweise per getElementById(..). Bei erzeugten ASP.NET Seite kann dies u. U. nicht möglich sein, da das Layout z. Bsp. mit Panels erzeugt wurde. Dann erzeugt ASP.NET verschachtelte Namen zum Steuerelement, in der Form panel1_panel2_steuerelement. Mit folgender Funktion findet man über die "normale" ID das Element auf der Seite:


function FindElement(typ, name)
{
  var ctrl = null;
  var namen = null;
  for(var i=0;i<document.getElementsByTagName(typ).length;i++)
  {
    ctrl = document.getElementsByTagName(typ).item(i);
    namen = ctrl.id.split("_");
    if (namen[namen.length-1] == name)
    return ctrl;
  }
}

Wurde eine ID doppelte vergeben (auf unterschiedlichen Panels), findet die Funktion das erste in der Collection.

Tags: , ,

ASP.NET | JavaScript | Browser | HTML