MVC отправить форму на разные контроллеры - PullRequest
6 голосов
/ 13 августа 2010

Можно ли опубликовать одну и ту же форму на разных контроллерах?

Каждая страница может публиковаться только для создания URL-адреса действия, но, может быть, я скажу кнопке, на какую форму URL-адреса следует перейти?

например, у меня есть одна форма и две кнопки отправки, одна кнопка отправит форму одному контроллеру / URL (например, / action / view), а другую кнопку отправит форму другому контроллеру / URL (например, /action/anothervew).

Ответы [ 3 ]

4 голосов
/ 13 августа 2010

Вы определенно можете сделать это, используя JQuery (или просто javascript), чтобы прикрепить функцию к событию onclick кнопки (ей).Затем используйте эту функцию для изменения URL-адреса, на который отправляется форма, и затем отправьте форму.

JQuery будет выглядеть примерно так:

$('#button1').onclick(function(){ $(this).action = url1; $(document).submit();});
$('#button2').onclick(function(){ $(this).action = url2; $(document).submit();});
2 голосов
/ 13 августа 2010

Для этого вам нужно будет использовать JavaScript. Когда кнопка нажата, javascript изменяет свойство действия формы на соответствующий контроллер и затем отправляет форму.

1 голос
/ 13 августа 2010

Мы сделали это перед использованием javascript, как упоминалось в других ответах, и это, вероятно, правильный путь.Однако альтернативой является отправка в метод единого контроллера, который содержит логику, чтобы решить, куда отправлять данные формы.

Фактически вы отправляете форму контроллеру и повторно отправляете эти данные натекст или идентификатор кнопки, нажатой с помощью оператора if в теле действия контроллера.

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