ASP.Net MVC 4 Форма с двумя кнопками / действиями отправки

У меня есть форма в ASP.Net и бритве.

Мне нужно иметь два способа отправки указанной формы: один, который проходит через действие « Edit , а другой – через действие « Validate .

Как мне это сделать?

Я не против использования JavaScript для этого.

РЕДАКТИРОВАТЬ:

Используя пользовательский атрибут, я получаю эту ошибку.

Текущий запрос действия «Resultados» на тип controllerа «InspecoesController» неоднозначен между следующими методами действий: System.Web.Mvc.ActionResult Validar (System.Collections.Generic.ICollection 1[Waveform.IEP.Intus.Server.Web.ViewModels.ResultadoViewModel]) on type Waveform.IEP.Intus.Server.Web.Controllers.InspecoesController System.Web.Mvc.ActionResult Resultados(System.Collections.Generic.ICollection 1 [Waveform.IEP.Intus.Server.Web.ViewModels. ResultadoViewModel]) по типу Waveform.IEP.Intus.Server.Web.Controllers.InspecoesController

Это то, что мы имеем в наших приложениях:
Атрибут

 public class HttpParamActionAttribute : ActionNameSelectorAttribute { public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo) { if (actionName.Equals(methodInfo.Name, StringComparison.InvariantCultureIgnoreCase)) return true; var request = controllerContext.RequestContext.HttpContext.Request; return request[methodInfo.Name] != null; } } 

Действия, украшенные им:

 [HttpParamAction] public ActionResult Save(MyModel model) { // ... } [HttpParamAction] public ActionResult Publish(MyModel model) { // ... } 

HTML / Бритва

 @using (@Html.BeginForm()) {    } 

атрибут имени кнопки отправки должен соответствовать имени действия / метода

Таким образом, вам не нужно жестко кодировать URL-адреса в javascript

Вы можете сделать это с помощью jquery, просто поставьте два метода для отправки на разные URL-адреса, например, с помощью этой формы:

 
<%-- form data inputs here ---%>

вы можете использовать этот скрипт (убедитесь, что он находится в представлении, чтобы использовать атрибут Url.Action):

  

Если вы работаете в asp.net с бритвой, и вы хотите управлять несколькими кнопками отправки, то этот ответ поможет вам. Например, у нас есть две кнопки, одна кнопка перенаправляет нас на «PageA.cshtml», а другая перенаправляет нас на «PageB.cshtml».

 @{ if (IsPost) { if(Request["btn"].Equals("button_A")) { Response.Redirect("PageA.cshtml"); } if(Request["btn"].Equals("button_B")) { Response.Redirect("PageB.cshtml"); } } } 
; ;

Вот хорошая элплантация: ASP.NET MVC – несколько кнопок в одной форме

В двух словах:
вы можете проанализировать значение отправленной кнопки в действии yout
или
сделайте отдельные действия с вашей версией ActionMethodSelectorAttribute (которую я предпочитаю и предлагаю).

   

С HTML5 вы можете использовать button[formaction] :

 

Мы можем это сделать двумя способами,

Либо у вас есть 2 формы в одном представлении и есть 2 метода действий на controllerе, но вам нужно будет предоставить необходимые поля для отправки с формой, которая будет помещена внутри

ex приведен здесь с кодом Множественные формы в виде asp.net mvc с несколькими кнопками отправки

Или

У вас есть две или несколько кнопок отправки: btnSubmit1 и btnSubmit2 и проверьте метод действия, нажав кнопку с помощью кода

 if (Request.Form["btnSubmit1"] != null) { // } if (Request.Form["btnSubmit2"] != null) { // } 
  • Razor actionlink автогенерирует? Length = 7 в URL?
  • Условно измените class CSS в режиме Razor
  • Передайте параметр controllerу из @ Html.ActionLink MVC 4
  • DropDownList в MVC 4 с Razor
  • Сравнение ASP Engine MVC View Engine
  • Обслуживание favicon.ico в ASP.NET MVC
  • Синтаксис Razor обеспечивает непревзойденное преимущество в разметке пользовательского интерфейса?
  • Как указать атрибуты данных в бритве, например, data-externalid = "23151" на @ this.Html.CheckBoxFor (...)
  • В MVC3 Razor, как мне получить html визуализированного представления внутри действия?
  • Метод Razor ViewEngine HTML.Checkbox создает скрытый ввод. Зачем?
  • Как использовать тернарный оператор в бритве (в частности, для атрибутов HTML)?
  • Interesting Posts

    Смарт-карты для хранения ключей gpg / ssh (Linux) – что мне нужно?

    Linq to XML – обновление / изменение узлов XML-документа

    Установка пакета электронной почты python 3.4.0: ImportError: нет модуля с именем ‘cStringIO’

    Почему мы не можем сделать List mylist = ArrayList ();

    Возможно ли иметь переменные среды на пути рабочего каталога: PS1?

    Чтение больших файлов в Java

    Должен jQuery $ (form) .submit (); не запускать onSubmit в теге формы?

    Самый простой способ настроить HTTP-прокси-запрос-отправитель в MAC-адресе?

    Как я могу сделать что-то, что ловит все «необработанные» исключения в приложении WinForms?

    Swift 4 Decodable с ключами, не известными до времени декодирования

    Почему хороший дизайн пользовательского интерфейса так сложно для некоторых разработчиков?

    Детальный компонент Angular2 как данные

    Переадресовывают ли redirect_to и обмениваются?

    Символические ссылки и синхронизированные папки в Vagrant

    MongoDB: Как обновить один подэлемент в массиве, на который ссылается индекс внутри массива?

    Давайте будем гением компьютера.