MVC: несколько форм отправки в одном теге формы

Asked
Viewd2294

1

Я только начинаю играть с MVC, и что-то меня не устраивает. Я понимаю, как создать простую форму ввода и использовать кнопку отправки для публикации формы, настроенной следующим образом:

 <form runat="server" method="post" action="/Home/CreateNew" >
 

Но что произойдет, если все ваше приложение находится внутри одного тега формы и вы хотите иметь несколько форм ввода? Например, я использую некоторые элементы управления AjaxControlToolkit на своей главной странице, для чего требуется, чтобы вся страница была внутри тега формы. Если у меня есть две совершенно разные формы ввода, нужно ли передавать их обе через контроллер CreateNew? Как мне указать форме использовать разные действия для каждой формы ввода?

2 ответов

4

Не следует размещать одну форму вокруг всей страницы. Поместите несколько форм ввода туда, где они вам нужны. Вы также можете избавиться от runat = "server". Вам это не понадобится в MVC.

Большая часть набора инструментов Ajax Control Toolkit просто не будет работать в MVC, поскольку MVC не имеет ViewState. Существует клиентская версия, которая в определенной степени работает .

Я рекомендую вместо этого использовать jQuery . Теперь это поддерживается Microsoft и гораздо лучше вписывается в модель MVC.

2

Крейг прав в том, что вам, вероятно, не следует пытаться заставить его работать с одной формой. Это очень анти-mvc и анти-html, однако, чтобы ответить на ваш вопрос, вы можете использовать javascript для изменения действия формы на лету.

  • Спасибо. Отказ от старых привычек веб-форм в пользу MVC - медленный процесс, но я начинаю понимать, что это такое.

    gfrizzle29 января 2009, 13:33