MVC В Html.Begin форме нужно, чтобы две кнопки вызывали разные действия со всеми значениями формы - PullRequest
2 голосов
/ 26 января 2012

Frnds Я хочу отправить данные на два разных контроллера, используя две разные кнопки в одной форме, и я хочу, чтобы обе кнопки вызывали разные действия, а также передавали все значения формы своему уважаемому контроллеру.

Ответы [ 2 ]

1 голос
/ 26 января 2012

Вы можете сделать это с помощью JavaScript следующим образом:

HTML

<form method="POST" action="/">
    ... The Rest Of Your Form ...
    <input type="Submit" id="btn-1" name="btn-1" />
    <input type="Submit" id="btn-2" name="btn-2" />
</form>

JavaScript

(function(d) {
    var form = d.getElementsByTagName('form')[0],
        targetBtn;
    form.onsubmit = function(e) {
        e.preventDefault();
        targetBtn = e.explicitOriginalTarget.id;

        //Set the form action based on the id of the button that submitted it
        if(targetBtn === 'btn-1') {
            form.action = '/foo';
        } else {
            form.action = '/bar'
        }

        //Submit your form
        form.submit();
    };
}(document));

Все, что вам нужно сделать, это убедиться, что этот код помещен после разметки from в HTML-разметке, или добавить его в функцию jQuery document.ready.

0 голосов
/ 26 января 2012

вот хорошая статья, которая может помочь вам достичь того, что вы хотите

http://blog.ashmind.com/2010/03/15/multiple-submit-buttons-with-asp-net-mvc-final-solution/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...