использование двух кнопок отправки в единственной форме

У меня есть форма с двумя кнопками отправки в моем asp.net mvc (C#) приложение. Когда я нажимаю любую кнопку отправки в Google Chrome, по умолчанию значение кнопки отправки является значением первой кнопки отправки.

Вот HTML:

 <input type="submit" value="Send" name="SendEmail" />
 <input type="submit" value="Save As Draft" name="SendEmail" />
 <input type="button" value="Cancel" />

Когда я нажимаю Save As Draft кнопка, в действии контроллера, это добирается, "Отправляют" как значение для SendEmail.

Вот действие:

public ActionResult SendEmail(string SendEmail, FormCollection form)
 {
       if(SendEmail == "Send")
       {
          //Send Email
       }
       else
       {
          //Save as draft
       }
       return RedirectToAction("SendEmailSuccess");
 }

Когда я получаю значение от FormCollection, оно показывает, "Отправляют". т.е. form["SendEmail"] дает Send

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

5
задан Prasad 11 March 2010 в 06:32
поделиться

3 ответа

обходной путь: используйте javascript для отправки формы вместо кнопок отправки

-2
ответ дан 13 December 2019 в 19:25
поделиться

Показать эту страницу.

ASP.NET MVC - Несколько кнопок в одной форме - Блог Дэвида Финдли

Создание класса-наследника ActionMethodSelectorAttribute.

7
ответ дан 13 December 2019 в 19:25
поделиться

Попробуйте вместо этого:

<input type="submit" value="Send" name="send" />
<input type="submit" value="Save As Draft" name="save" />

и:

public ActionResult SendEmail(string send, FormCollection form)
{
    if (!string.IsNullOrEmpty(send))
    {
        // the Send button has been clicked
    } 
    else
    {
        // the Save As Draft button has been clicked
    }
}
5
ответ дан 13 December 2019 в 19:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: