2009-06-30 4 views
0

Ich bin auf der Suche nach einem Best-Practice-Vorschlag.Umleiten, um auf Teilansicht zu verweisen Beitrag mit ASP.NET MVC

Ich habe einen ShoppingBag Controller mit einem Partial, der alle Elemente in der Tasche des Benutzers auflistet. In diesem Teil können Sie Gegenstände aus dem Beutel über einen Formularbrief entfernen.

Das Partial wurde in einer Masterseite platziert, die von jeder der Ansichten im Controller referenziert wird. Wenn ein Artikel aus der Tasche des Benutzers entfernt wird, möchte ich, dass der Benutzer zur ursprünglichen Ansicht weitergeleitet wird. Ich bin ziemlich glücklich darüber, wie ich das mit JavaScript erreichen würde, es ist das Nicht-JavaScript, über das ich nicht klar bin.

Do I:

  1. Detect die aufgerufene Aktion Request.UrlReferrer verwenden und umleiten. Dies könnte sehr mühsam sein, die Aktion/Route von einer URL zu erkennen.
  2. Übergeben Sie ein verstecktes Feld mit der Post. Nicht wirklich daran interessiert, den HTML-Code aufzublähen.
  3. Nicht zum Absender umleiten, Weiterleitung zu einer Bestätigungsseite. Würde es vorziehen, wenn möglich zu vermeiden.
  4. Etwas, das ich vermisst habe.

Jedem geholfen würde geschätzt.

Rich

Antwort

6

Definitiv # 2. Es ist nicht aufgeblasen, es drückt deine Absicht aus. Es werden 50 Bytes sein, schwitz es nicht, du solltest sowieso dein HTTP gzip'ing sein.

Stellen Sie jedoch sicher, dass Sie es so sichern, dass jemand keine alte Seite dort oder auf eine andere Seite stellen kann. Verwenden Sie möglicherweise einen Enum-Wert, wenn die Anzahl der Ursprungsansichten eingeschränkt ist.

+0

Ich hatte nicht in Betracht gezogen, eine Enum zu verwenden, die eigentlich sehr elegant sein könnte. – kim3er

+0

Enum war aufgrund der Größe der Website nicht praktikabel, also habe ich den Pfad in das Formular-Tag verschlüsselt (Html.BeginForm (MVC.ShoppingBag.Delete (item.Product.ID, Request.EncryptedPath()). Danke für Ihre Hilfe Scott, sehr geschätzt. – kim3er