Halten Sie das Gebietsschema in der Sitzung oder senden Sie zusammen mit dem Formular?

StackOverflow https://stackoverflow.com/questions/2130302

  •  22-09-2019
  •  | 
  •  

Frage

Ich bin die Umgestaltung eines CMS, die ich Baue.Das CMS hat die Fähigkeit zum Bearbeiten von Seiten auf der Basis des ausgewählten Gebietsschema.Ich halte das gewählte Gebietsschema in einer Sitzung, während der Benutzer die CMS-blättert durch die Seiten, die Sie Bearbeiten möchten.

Nun, meine Frage ist:
Wenn ein Benutzer eine Seite bearbeitet, und will änderungen Einreichen, haben Sie das Gefühl, dass ich das Gebietsschema enthalten als verstecktes Feld im Formular ist einzureichen?Nur um auf der sicheren Seite sein?Oder sollte ich einfach nur verlassen sich auf das Gebietsschema, das in der Sitzung?

War es hilfreich?

Lösung

Ja, Sie sollten es unbedingt veröffentlichen entlang jeder Zeit, weil der Benutzer das Gebietsschema geändert haben könnte, während die Seite bearbeiten. Das Ergebnis wäre, dass eine Seite mit dem Inhalt von einem anderen Gebietsschema wird überschrieben.

Wenn der Benutzer nicht zu bearbeiten Seiten außerhalb ihrer locale erlaubt ist, müssen Sie zusätzlich prüfen, ob der Benutzer bearbeiten darf die Seite / locale Kombination angegeben (weil sie konnten es eine Fälschung, wenn es durch eine Sitzung kommt).

Andere Tipps

Es hängt davon ab, was Sie das Verhalten der Zurück-Taste wollen sein.

Wenn ein Benutzer besucht ein paar Seiten, dann ein anderes Gebietsschema wählt, dann schlägt zurück, wollen die Änderung der locale rückgängig gemacht werden durch die Zurück-Taste

  • Wenn so speichern sie in einem versteckten Feld oder Query-String
  • Andernfalls speichert sie in einem Cookie oder einen Datenspeicher, der durch ein Cookie indiziert ist (zum Beispiel des Session-Zustand)

(Wenn Sie ein Buch Zeichen Seite (Favoriten) wollen das Gebietsschema erinnern, dann müssen Sie es in der URL speichern, in der Regel als eine Abfrage-String.)

Wenn Sie nicht erwarten, dass der Benutzer wechseln Gebietsschemas, wie Pekka andeutet, können Sie bestimmen, das Gebietsschema, von der die Anforderung.Der browser sendet, die Informationen zu Ihnen jeden Wunsch.

Ich würde vergleichen Sie den Wert in der Anforderung, um den Wert in der Sitzung und beobachten Sie die änderungen.Welche Logik Sie für die Abwicklung von änderungen ist bis zu Ihnen und flexibel.

Ich bin mir nicht sicher über Ihre Sprache der Wahl, aber in ASP.NET erhalten Sie Sprachen von der HttpRequest.UserLanguages Eigenschaft.

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