Entwickler-Ecke

ASP.NET und Web - 1 Methode für HttpGet UND HttpPost


rittergig - So 07.08.11 00:37
Titel: 1 Methode für HttpGet UND HttpPost
Auf meiner Webseite kann sowohl ein Formular mit HttpPost abgeschickt werden als auch auf einen Link geklickt (HttpGet) werden.
In beiden Fällen wird die gleiche Seite mit den gleichen Parameter aufgerufen.

Demzufolge habe ich eine Index-Methode für [HttpGet] und für [HttpPost], welche exakt das gleiche macht.

Gibt es eine Möglichkeit zu sagen, dass eine Aktion sowohl für [HttpGet] als auch [HttpPost] zu deklarieren?

Grüße Peter


Regan - So 07.08.11 08:21

user profile iconrittergig hat folgendes geschrieben Zum zitierten Posting springen:
In beiden Fällen wird die gleiche Seite mit den gleichen Parameter aufgerufen.

Das geht nicht. Intern muss dann ein Übernehmen der Variablen stattfinden. Standardmäßig muss zwischen POST und GET unterschieden werden. Das kann man schon daran sehen, dass bei GET die Parameter an das Ende der Url gehangen werden. Bei POST werden diese in eine Nachricht an den Server verpackt. Das hat den Vorteil, dass man mehr Daten hineinstecken kann.

user profile iconrittergig hat folgendes geschrieben Zum zitierten Posting springen:
Demzufolge habe ich eine Index-Methode für [HttpGet] und für [HttpPost], welche exakt das gleiche macht.

Wenn beide Methoden die gleiche Seite aufrufen und die gleichen Ergebnisse hervorrufen, warum rufst du dann die Methode zweimal auf? :gruebel:


rittergig - So 07.08.11 08:31

user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconrittergig hat folgendes geschrieben Zum zitierten Posting springen:
Demzufolge habe ich eine Index-Methode für [HttpGet] und für [HttpPost], welche exakt das gleiche macht.

Wenn beide Methoden die gleiche Seite aufrufen und die gleichen Ergebnisse hervorrufen, warum rufst du dann die Methode zweimal auf? :gruebel:

Weil ich auf der Seite eine POST-Formular habe und Links. So wird einmal der Controller via HttpPost und einmal via HttpGet aufgerufen.

Ich möchte Werte in einem Diagramm visualisieren. Als Filter habe ich 2 Textboxen, in denen man ein Datum (von, bis) eintragen kann, welche sich in einen POST-Formular befinden.
Die Werte werden zudem in eine Tabelle angezeigt. Klickt man auf eine Zeile, wird der Wert im Diagramm hervorgehoben. Die einzelnen Zeilen stellen einen Links dar.


Regan - So 07.08.11 10:05

Dann bleibt dir nur die Möglichkeit, das hintereinander aufzurufen :nixweiss:


Kha - So 07.08.11 17:34

user profile iconrittergig hat folgendes geschrieben Zum zitierten Posting springen:
Gibt es eine Möglichkeit zu sagen, dass eine Aktion sowohl für [HttpGet] als auch [HttpPost] zu deklarieren?
Hab mal für dich gegoogelt: [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]

user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Standardmäßig muss zwischen POST und GET unterschieden werden.
Ja, in den Zeiten, als man ohne fähiges Framework einfach drauf los programmiert hat, musste man noch auf solche Kleinigkeiten achten ;) .


rittergig - So 07.08.11 18:46

user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Hab mal für dich gegoogelt: [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]

Danke funktioniert. Genau das habe gesucht :)

Hast du noch zufällig den Link?


Kha - So 07.08.11 19:24

Suche bei Google HTTPGETATTRIBUTE :mrgreen: