2009-06-10 6 views
4

Wenn ich ein ASP.NET 4.0 DataView-Steuerelement hatte, das wie folgt aussah, wie kann ich javaScript-Ereignisse auf der Clientseite steuern?Wie können wir das DataView Control auf JavaScript-Ereignisse reagieren lassen?

Körper tag:

<body xmlns:sys="javascript:Sys" xmlns:dataview="javascript:Sys.UI.DataView"  
    sys:activate="*"> 

Dataview tag:

<ul sys:attach="dataview" dataview:data="{{ ListOfPeople }}" class="sys-template">  
    <li>  
      <div>{{ GivenName }}</div> 
      <div>{{ SurName }}</div> 
      <div>{{ Title }}</div> 
      <div>{{ Department }}</div> 
      <div>{{ Phone }}</div> 
      <div>{{ EmailAddy }}</div> 
    </li> 
</ul> 

Zum Beispiel habe ich eine Schaltfläche oder einen Link zu 'wählen' diese Sendung aufnehmen möchten, und haben der Server sie eine E-Mail oder Flagge versenden in der Datenbank oder sogar so einfach wie den Stil der ausgewählten Zeile zu ändern, um den Fokus des Benutzers darauf zu bringen.

Antwort

1

AFAIK Die Client-Vorlagen werden zum Rendern verwendet und haben keine Optionen zum Anhängen von Ereignissen.

ich jQuery denke, verwenden Sie eine einfache Auswahl

$('#peopleList > li').live('click', function() { 
    $(this).parent().children().removeClass('selected'); 
    $(this).addClass('selected'); 
}); 

Der Fall mit der Taste implementieren könnte durch Hinzufügen es durch die Client-Vorlage und Binden der Ereignisse in ähnlicher Weise behandelt werden.