Wie wird zu einer Aktion mit Parametern aus einer anderen Aktion umgeleitet, ohne Parameter zu übergeben?

9

Nachstehend, in CreateTest, erfolgreich, möchte ich auf Tests von CreateTest umleiten.

Ich möchte etwas wie das Folgende tun:

%Vor%     
learning 24.02.2011, 08:07
quelle

3 Antworten

27

Sie müssen möglicherweise die Argumente beim Umleiten angeben:

%Vor%

und die URL, zu der Sie weiterleiten werden, sehen jetzt etwa so aus:

/Foo/Tests?ID=123&projectName=abc

    
Darin Dimitrov 24.02.2011, 08:11
quelle
0

Machen Sie das int Nullwert:

%Vor%     
Rob 24.02.2011 08:09
quelle
0

Ich weiß, das ist ein bisschen alt, aber ...

In der Vergangenheit habe ich eine "MessageArea" -Klasse als eine Eigenschaft auf meinem Basis-Controller verfügbar gemacht, von der letztendlich alle meine Controller erben. Die Eigenschaft speichert die Klasseninstanz in TempData. Die MessageArea verfügt über eine Methode zum Hinzufügen (), die eine Zeichenfolgennachricht und einen Aufzählungstyp (z. B. Erfolg, Fehler, Warnung, Information) verwendet.

Ich habe dann eine partielle, die alle Nachrichten in MessageArea mit dem passenden Stil entsprechend dem Typ der Nachricht rendert.

Ich habe eine HTMLHelper-Erweiterungsmethode RenderMessageArea () so in jeder Ansicht kann ich einfach sagen @ Html.RenderMessageArea (), die Methode und teilweise kümmert sich um Nullwerte und nichts wird ausgegeben, wenn keine Nachrichten sind.

Da in TempData gespeicherte Daten nur 1 Anfrage überstehen, ist es ideal für Fälle, in denen Ihre Aktion umgeleitet werden soll, aber eine oder mehrere Nachrichten auf der Zielseite angezeigt werden, z. ein Fehler, nicht autorisierte Seite etc ... Oder wenn Sie ein Element hinzufügen, aber dann zur Indexlistenseite zurückkehren.

Natürlich könnten Sie etwas Ähnliches implementieren, um andere Daten zu übergeben. Letztendlich würde ich sagen, dass dies eine bessere Lösung für die ursprüngliche Frage ist als die akzeptierte Antwort.

BEARBEITEN, BEISPIEL:

%Vor%

Die obige Klasse kann dann verwendet werden, um Nachrichten von Ihrer UI-Ebene hinzuzufügen, die von den Controllern verwendet wird.

Fügen Sie dann eine HtmlHelper-Erweiterung wie folgt hinzu:

%Vor%

Der obige Code ist nicht vollständig, es gibt verschiedene Schnickschnack, die ich weggelassen habe, aber Sie bekommen den Eindruck.

    
Peter 16.04.2013 11:58
quelle

Tags und Links