Posts
400
Comments
213
Trackbacks
0
July 2010 Entries
Beispiele für Binding-Methoden in ASP.NET 4.0 / AJAX

Die JavaScript-Bibliotheken für das neue AJAX-Framework kann man sich bei Codeplex herunterladen: http://aspnet.codeplex.com/releases/view/34488.

Diese Dateien müssen z.B. im Script-Verzeichnis eine Webanwendung liegen.

Einen Artikel über LiveBinding von Dino Esposito findet man hier: http://msdn.microsoft.com/en-us/magazine/ee819084.aspx.

Das Binding-Objekt ermöglicht es zwei Eigenschaften von zwei DOM Elementen miteinander zu verbinden.

Im folgenden ein kleines Beispiel für die eine Auswahl von  Binding-Methoden und zwar eine One-Way Bindung:

Wenn in der Textbox ein Wert eingetragen wird, dann erscheint dieser anschließend im H1-Tag:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head
>
    <title></title>
</head>
<
body
>
Wert eingeben: <input id="txtName" type="text"
/>
<h1
id="lblName"></h1>
    <script src="scripts/MicrosoftAjax.debug.js" type="text/javascript"></script
>
    <script src="scripts/MicrosoftAjaxTemplates.debug.js" type="text/javascript"></script
>
    <script type
="text/javascript">
        function pageLoad() {
            $create(Sys.Binding, {
                source: $get('txtName'),
                path: 'value',
                target: $get('lblName'),
                targetProperty:
'innerHTML'
            });
        }
    </script
>
</body>
</
html>

Im folgenden ein Beispiel mit einer two-way Verbindung zwischen zwei Textboxen. Wird in einer Textbox etwas geändert, dann wird die andere automatisch aktualisiert:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns
="http://www.w3.org/1999/xhtml">
<
head
>
    <title></title
>
</
head
>
<body
>
    Name: <input id="Text1" type="text" />
    <script src="scripts/MicrosoftAjax.debug.js" type="text/javascript"></script
>
    <script src="scripts/MicrosoftAjaxTemplates.debug.js" type="text/javascript"></script
>
    <script type
="text/javascript">
        var person = {
           
Name: "Christian"
        };
       
// Wenn das Objekt person geändert wird (durch Änderungen in der Textbox)
       
// dann soll dieser Event aufgerufen werden
       
Sys.Observer.addPropertyChanged(person, function() {
           
alert('Die Person wurde geändert');
       
});
        function pageLoad() {
            $create(Sys.Binding, {
                source: person,
                path: 'Name',
                target: $get('Text1'),
                targetProperty: 'value',
            })
        }
    </script
>
</body>
</
html>

posted @ Sunday, July 18, 2010 12:03 PM | Feedback (0)
Beispiele für Observer-Methoden in ASP.NET 4.0 / AJAX

Die JavaScript-Bibliotheken für das neue AJAX-Framework kann man sich bei Codeplex herunterladen: http://aspnet.codeplex.com/releases/view/34488.

Diese Dateien müssen z.B. im Script-Verzeichnis eine Webanwendung liegen und in die Seite eingebunden sein.

Im folgenden ein kleines Beispiel für die eine Auswahl von  Observer Methoden (Eine Übersicht der Observer-Methoden findet man hier: http://msdn.microsoft.com/en-us/library/dd393766.aspx).

Die Observer Funktion des AJAX-Frameworks gibt uns die Möglichkeit Veränderungen an den JavaScript-Objekten zu beobachten / verfolgen.

Im ersten Beispiel wird mittels der Methode “Sys.Observer.addPropertyChanged” an das Objekt Person ein Event-Handler angehängt welcher bei Änderungen an diesem Objekt, diese (standardmäßig) in einem TextArea-Feld mit der ID “TraceConsole“ aus:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<
body
>
    <table
>
        <tr>
            <td>Vorname</td>
            <td><input type="text" id="txtVorname" /></td
>
       
</tr>
        <tr>
            <td>Nachname</td
>
           
<td><input type="text" id="txtNachname" /></td>
        </tr
>
        <tr
>
            <td colspan
="2">
            <button onclick="change()">Change</button
>
            </td
>
        </tr
>
    </table>

    <textarea id="TraceConsole" rows="20" style="width: 50%"></textarea>
    <script src="scripts/MicrosoftAjax.debug.js" type="text/javascript"></script
>
    <script src="scripts/MicrosoftAjaxTemplates.debug.js" type="text/javascript"></script
>
   
<script type="text/javascript">

        // ein Beispiel JSON-Objekt
        var person = {
            Vorname: "Christian",
            Nachname:
"Kiefer"
        };

        // einen Event-Handler auf das JSON-Objekt person setzen
       
// bei jeder Änderung eines Wertes des Objektes wird diese Funktion aufgerufen
       
Sys.Observer.addPropertyChanged(person, function () {
           
// Die Methode Sys.Debug.traceDump gibt den Dump in einem TextArea-Tag
            // mit der ID TraceConsole aus, wenn vorhanden
           
Sys.Debug.traceDump(person);
        });

        function change() {
            Sys.Observer.setValue(person, 'Vorname', $get('txtVorname').value);
            Sys.Observer.setValue(person, 'Nachname', $get('txtNachname').value);
            //  // Alternativ würde auch gehen
            // Sys.Observer.makeObservable(person);
            // person.setValue('Vorname', $get('txtVorname').value);
            // person.setValue('Nachname', $get('txtNachname').value);
        }       

    </script>

</body>
</html>


Im zweiten Beispiel wird nicht ein einzelnes Objekt sondern ein Array beobachtet. Mittels der Methode “makeObservable” werden dem ArrayPersonen weitere Methoden hinzugefügt, wie z.B. “add”.

Nachdem dem Array Personen eine neue Person hinzugefügt wurde, wird der neue Inhalt des Arrays in dem TextArea-Bereich ausgegeben. 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<
body
>
    <table>
        <tr
>
            <td>Vorname</td
>
            <td><input type="text" id="txtVorname" /></td
>
       
</tr>
        <tr>
            <td>Nachname</td
>
           
<td><input type="text" id="txtNachname" /></td>
        </tr
>
        <tr
>
            <td colspan
="2">
            <button onclick="add()">Hinzufügen</button
>
            </td
>
        </tr
>
    </table
>
    <textarea id="TraceConsole" rows="20" style="width: 50%"></textarea
>
    <script src="scripts/MicrosoftAjax.debug.js" type="text/javascript"></script
>
    <script src="scripts/MicrosoftAjaxTemplates.debug.js" type="text/javascript"></script
>
   
<script type="text/javascript">
       
// ein Beispiel mit Array
        var personen = [
            { Vorname: "Christian", Nachname: "Kiefer"}
        ];

        // mit makeObservable werden dem Objekt Personen weitere Methoden hinzugefügt
        Sys.Observer.makeObservable(personen);

       
// einen Event-Handler auf das Array personen setzen
       
// bei jeder Änderung des Arrays wird diese Funktion aufgerufen
        personen.add_collectionChanged( function () {
           
// Die Methode Sys.Debug.traceDump gibt den Dump in einem TextArea-Tag
            // mit der ID TraceConsole aus, wenn vorhanden
           
Sys.Debug.traceDump(personen);
        });

        function add() {
            var person = {
                Vorname: $get('txtVorname').value,
                Nachname: $get('txtNachname').value
            };
           
// Die Methode add stammt von makeObservable
            personen.add(person);
        }       
    </script
>
</body>
</html>

posted @ Friday, July 16, 2010 2:19 PM | Feedback (1)
Cache des Flash-Players löschen

Vielen ist nicht bewusst, dass der Flash-Player eigene Cookies mit Informationen über die besuchten Websites (mit Flash-Filmen) speichert. Diese lassen sich nicht über die Funktionen des Browsers löschen.

Wenn man diese Informationen löschen möchte, dann muss man über die Einstellungen des Flash-Players selbst tun und dies geht nur über das Internet.

Hier ist der Link dazu:
http://www.macromedia.com/support/documentation/de/flashplayer/help/settings_manager07.html

posted @ Tuesday, July 13, 2010 7:40 AM | Feedback (0)