Deaktiviert den Aufruf der Aktionsmethode über die Adressleiste

7

Ich habe eine Methode in meinem Controller, die nicht von der Adressleiste im Browser aufgerufen werden soll ...

Gibt es eine Möglichkeit, das zu tun? Vielleicht eine Art Anmerkung, Änderung in der Routenkonfiguration? Welche Optionen habe ich?

    
amp 22.05.2013, 16:26
quelle

2 Antworten

14

Wenn Sie diese Aktion nur von Ihrem Controller oder Views aus verwenden möchten, können Sie ChildActionOnly attribute verwenden.

Wenn Sie mit POST darauf zugreifen möchten, können Sie [HttpPost] attribute verwenden.

Wenn Sie es jedoch mit GET verwenden möchten (dh mit AJAX-Aufruf usw.) und nicht möchten, dass Benutzer über die Adressleiste darauf zugreifen, können Sie dem folgen tutorial , um Ihre Aktionen nur für AJAX zu aktivieren.

Oder wenn Sie einfach eine Methode möchten, die überhaupt keine Aktion ist (d. h. nicht mit HTTP aufgerufen werden kann), können Sie entweder private oder [NonAction] attribute

verwenden     
Obi-Wan Spock 22.05.2013, 17:38
quelle
5

Verwenden Sie NonAction Attribut für die Methode.

    
Herman Kan 25.05.2015 13:31
quelle