2009-07-08 4 views
0

In meiner ASP.NET MVC-Anwendung habe ich einen Link, der "die Vorschaudaten-Box" nach jedem Klick aktualisiert. Ich habe dies mit diesem Code gemacht:ASP.NET MVC Ajax Link, der onmouseover ausgeführt wird

 <%= Ajax.ActionLink("delete", "DeleteItem", new AjaxOptions(){UpdateTargetId="casePreview"}) %> 

Nun würde Ich mag das Verhalten so ändern, dass die Vorschau Datenbox jeden Onmouseover Veranstaltung aufgefrischt wird Zeit Link angehoben.

Was ist der einfachste Weg, es zu tun?

Antwort

2

Verwendens jQuery rufen Sie das Click-Ereignis des Link zu feuern

$(selector).mouseover(function() { 
    $(this).click(); 
}); 

EDIT: Eine vereinfachte Version von dem, was ich in meinem Kommentar beschrieben. Im Wesentlichen sollte der Mouseover-Ereignishandler einige AJAX verwenden, um aktualisierte Informationen abzurufen. Wenn die Anforderung abgeschlossen ist, wird die UpdateUI-Funktion ausgelöst und funktioniert. Dieses spezielle Skript würde auch eine Warnung ausgeben, wenn das Element angeklickt wird.

$(selector).mouseover(function() { 
    $.ajax({ 
     type: "GET", 
     url: "/my/path/to/someplace", 
     complete: UpdateUI}); 
}).click(function() { 
    alert("tada"); 
}); 

function UpdateUI(XMLHttpRequest, textStatus) { 
    //Update Your UI 
} 
+0

Aber was, wenn ich zwei verschiedene Verhaltensweisen brauche - eines für onmouseover-Ereignis und das zweite für onclick-Ereignis? – mgamer

+1

Ich schlug diese Methode vor, weil es bedeutet, dass Sie kein zusätzliches Javascript schreiben müssten. Sie können das mouseover-Ereignis mit einer AJAX-Anfrage- und UI-Aktualisierungsfunktion behandeln. Das würde das Klickereignis für ein anderes Verhalten freigeben. – Tyler

0

Leider gibt es keine Möglichkeit, dies nur mit AjaxHelpers zu tun: Sie müssen Javascript direkt verwenden. Zum Beispiel können Sie jQuery und „registrieren“, um das Onmouseover Ereignis verwenden, und als die Methode Ajax verwenden für die Aktualisierung der „Vorschaudatum box“

+0

Können Sie mir einen Codeausschnitt zeigen, der erklärt, wie das geht? – mgamer

0

Sie sollten die Methode "jaquery" beim Ereignis onmouseover() aufrufen.