Как мне отправить форму со ссылкой в ASP.Net MVC?
-
20-08-2019 - |
Вопрос
У меня есть HTML-форма, и у меня есть действие контроллера, которое принимает запрос POST.Все работает с обычной кнопкой отправки, но вместо этого я хотел бы отправить форму со ссылкой (<a>-tag), чтобы иметь возможность дополнительно контролировать форматирование.Есть ли какой-нибудь способ сделать это красиво встроенным в фреймворк ASP.NET MVC, или я должен написать свой собственный метод расширения?Возможно ли вообще сделать это без javascript (в будущем я буду использовать AJAX, но он должен работать без).
Решение
Вот полный пример. Обратите внимание, что этот конкретный пример делает что-то довольно важное:в нем есть запасной вариант для браузеров с отключенным JavaScript.
Другие советы
Если javascript и jQuery включены, это эффективно заменяет все кнопки отправки ссылками:
$("input:submit").hide().each(function (index, Element) {
var elm = $(Element);
elm.after($("<a href=#>" + elm.val() + "</a>")
.click(function () { elm.click(); })
);
});
Основано на сообщении, на которое дана ссылка в принятом ответе.
Я не знаю о помощнике, и, насколько я знаю, невозможно отправить форму с использованием тега привязки без использования javascript.
Вы не можете "отправить форму", используя ссылку (<a> тег) без Javascript.Javascript собирается сгенерировать стандартный POST-запрос (такой же, как нажатие кнопки отправки формы) за кулисами.
Есть и другие обходные пути для тех, у кого отключен JS, посмотрите, что прислал @Craig Stuntz.