Aufruf eine bestimmte Aktion von einem controller auf der auf der HTML-button(Nicht Submit-oder Form-post-Button) Asp.net MVC
Wenn wir auf einem Formular den submit-button, dann die Aktion des Reglers, die mit HTTPPost-Attribut wird aufgerufen, aber was ist, wenn ich anrufen möchte oder eine Aktion durchzuführen, wenn eine normale HTML-button geklickt wird
Obwohl nach Artikel
http://www.codeproject.com/Tips/198477/Calling-a-MVC-Controller-and-Action-Method-using-H
HTML-Schaltfläche ruft eine MVC-Controller und die Action-Methode
sagt, der Ansatz, aber beide sind über den controller-Namen in der Ansicht So Ansicht hat, zu wissen, über controller, ich bin auf der Suche nach einer Antwort, die anzeigen, gewohnt haben, um wissen über controller.
weil Ansichten Unabhängig von Controller, Views, sollten Sie nicht wissen, über controller
Also, wenn Sie die Antwort wissen, dann Antworten Sie bitte
Du musst angemeldet sein, um einen Kommentar abzugeben.
jeder form lenkt den Benutzer zu der url-erstellt von
oder
wird tun, was Sie wollen.
Werden können, mit einem
Es ist das Ziel, was zählt. In der Ansicht nicht "wissen" nichts über die Handlung oder controller. Der Helfer macht.
Ausführen einer MVC-Aktion von der client-Seite (d.h. aus einer Sicht) müssen Sie auf eine URL (mit einem verb: get, post, put, etc).
Daher zum ausführen einer Aktion eine Meinung bilden, die Sie benötigen, zu wissen, die URL, die Aktion, standardmäßig wird die URL direkt zugeordnet
controllername/actionname
aber Sie können re-definieren Sie dies, wenn Sie möchten, um mehr zu erstellen Abstraktion zwischen view und controller.Angesichts dieser Schaltfläche muss nur einen link zu einer URL oder im Zusammenhang mit js zu tun, ein Ajax-http-Anfrage.
Hoffe, das hilft.
Können Sie haben 2 Aktionen auf dem selben controller mit dem gleichen Namen und der gleichen HTTP-verb. Also, was Sie Fragen, ist nicht sinnvoll. Könnten Sie berufen sich auf die gleichen controller-action als die, die gerenderte Ansicht ohne Angabe einer action-und controller-Namen. Der Grund, warum
Html.BeginForm()
Werke ohne Angabe einer action-und controller-name ist, da das Formular senden einer POST-Anforderung an den server, und Sie können unterscheiden, dass die 2 Aktionen.