Frage

Sehen als ob unser Team ein Intranet halten die hat Kunden Benutzer garantiert Javascript aktiviert haben wir wissen, dass wir in Schritt und mit jQuery mehr „gründlich“ beginnen. Unser System ist sehr groß, so dass, obwohl wir Bereiche in unserer ASP.NET MVC-Anwendung die schiere Menge der Seiten verwenden, um hinzuzufügen, zu bearbeiten, zu löschen und Ansicht Datensätze pro Subsystems eines Gebiet ist wirklich sehr groß. Ein Untersystem eines Raumes lassen sich grob zwanzig Tabellen von Daten. Wenn es zwanzig Tabellen von Daten ist, und Sie haben einzelne Seiten hinzufügen, bearbeiten, löschen und anzeigen, das heißt, es gibt insgesamt 60 Seiten. Nun stell dir vor, es gibt zwanzig Subsystemen pro Fläche, dann würde ein einzelner Bereich 20 * 60 Seiten hat, und wir haben rund 15 Bereiche in unserem Intranet. Sie erhalten den Punkt, es ist riesig.

Der Umzug in meinem eigentlichen Punkt, ich bin zu wollen diese mithilfe von jQuery-Funktionen reduzieren auf einer Seite eine Tabelle von Daten mit, Schlagen „löschen“ und es mir einen Lösch Dialog mit einer Bestätigungstaste geben, die dann senden Sie das Formular, leiten Sie an die richtige Aktion und tun für mich die Arbeit. Jetzt brauche ich einige Hinweise in den folgenden Bereichen:

  1. Wenn ich ohne Buchung zurück überhaupt mit ASP.NET MVC, was ist der Prozess, dies zu tun löschen wollte? Dazu gehört Lösch schlagen, es geht aus und überprüft es in der Lage ist, zu löschen (FK Beziehungen müssen in der richtigen Art und Weise behandelt werden), dann, wenn die Lage, sie zu löschen und die Zeile aus der Tabelle in der Ansicht zu entfernen, ohne die Seite zu aktualisieren.
  2. Wie rufe ich die Löschaktion von einem asynchronen Prozess mit jQuery? Ist es klug, dies zu tun? Normalerweise verwenden wir Html.ActionLink. Hätte ich es in einer Form wickeln?
  3. Das gleiche gilt für die Bearbeitung und Aktualisierung, wieder, was ist der beste Weg, dies zu tun?

Ich bin auf der Suche nach einer eleganten Lösung, und etwas, was nicht schwierig ist, für jede Seite, die ich dies tun anzuwenden. Jede Eingabe wäre sehr geschätzt.

War es hilfreich?

Lösung

Ich arbeite an einem Projekt, das Link abzufeuern Löschaktionen über AJAX POST (kein Postback).

verwendet
$("a.deleteLink").click(function(event)
{
    event.preventDefault();
    if (confirm("Are you sure you want to delete this section?"))
    {
        //TODO Display processing indicator

        var myId = /* id of element */ ;

        $.post("/Section/Delete", { id: myId }, function(data)
        {
            if (data == "Success")
            {
                //handle success
                //TODO Fade out element using .fadeOut()
            }
            else
            {
                //handle error
            }
        });
    }
});

Die Controller-Methode ist einfach in /Controllers/SectionController.cs. akzeptiert nur POST als sollte jede Aktion, die die Datenbank ändert.

    private SectionRepository secRepo = new SectionRepository();

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Delete(long id)
    {
        Section sec = secRepo.GetById(id);

        secRepo.Delete(sec);
        secRepo.Save();

        return Content("Success");
    }

Andere Tipps

habe gerade getan hat ein Video auf einige Templating beobachten, die Sie für ASP.NET MVC mit Subsonic bekommen kann. Während ich habe immer noch nicht umgesetzt oder sogar versucht, es aus, es sieht unglaublich! Werfen Sie einen Blick hier .


Ich bin mir nicht sicher, ob dies eine machbare Option für Ihre ist oder nicht, aber wir hatten vor kurzem eine Notwendigkeit ähnlich wie bei Ihnen und wir lösen unsere primäre Anwendung als ASP.NET MVC-Anwendung (mit jqGrid ) und dann eine sekundäre ASP.NET Web Forms-Anwendung für unsere Admin-Funktionen unter Verwendung von Dynamic Data. Das hat sehr gut gearbeitet und hat uns gerettet eine Menge Zeit.

Es sieht auch wie Dynamic und MVC in einigen der nächsten Versionen kommen zusammen wird.

Andere Lese ...
* David Hayden
* rbqsoft
* Sharp Architektur Wiki

Chad Myers hat eine gute Artikel zu diesem Thema.

Auch ein von Dino Esposito.

Wenn Sie auch den jQuery-Dialog an die Partei zu werfen, diese Ricardo Covo Post macht einen guten Job

eingeben Bild Beschreibung hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top