Я работаю над приложением MVC6, и я бы хотел, чтобы кнопка отправила модель представления в контроллер. У меня есть следующий код, используя taghelper -MVC6 Taghelper Post Model to Controller
<a asp-route-area="MyArea" asp-controller="MyController" asp-action="MyAction">Save</a>
Вот моя модель декларация в представлении -
@model MyObject
Вот мой контроллер действия -
public IActionResult MyAction(MyObject mo)
{
return new EmptyResult();
}
При нажатии на кнопку , он правильно перенаправляется контроллеру, но объект модели равен нулю. Как мне вернуть всю модель обратно на контроллер при нажатии кнопки?
FYI - моя цель здесь состоит в том, чтобы иметь несколько кнопок на форме, которая выведет модель вида на другой контроллер mvc на основе кнопки, нажатой.
РЕДАКТИРОВАТЬ - мне не обязательно нужно отправлять его в разные контроллеры/действия. Я смог просто позволить контроллеру решить, как обрабатывать, и это, похоже, выполняет то, что мне нужно.
Если вы хотите разместить сообщение, вам необходимо использовать форму и кнопку или тип ввода = отправить, а свойства модели должны соответствовать элементам внутри формы. тег link/anchor просто собирается сделать запрос на получение без представленной модели, он ничего не собирается публиковать, это всего лишь ссылка –
, если вы хотите сделать форму, которая отправляет сообщения другому контроллеру/действию с помощью разных кнопок, тогда вам нужно будет добавить несколько javascript для нажатия кнопки, чтобы изменить действие формы, а затем отправить форму. –
Я закончил процесс, упомянутый здесь. Https://visualstudiomagazine.com/articles/2014/11/01/performing-multiple-actions.aspx – czuroski