Я потратил много времени на поиск и проработку этой проблемы вчера, не придумав решения. Вот руководство, которое я использовал для справки.
Проблема в том, что данные из формы не доходят до моего контроллера. Моя цель - взять данные формы и передать их моему контроллеру / модели, чтобы я мог использовать значения в своем коде и сохранять их в базе данных. Ниже то, что я имею до сих пор ...
В моем Browse.cshtml (View)
@model Collect
<form asp-action="Collect" asp-controller="Collect" method="post">
<input type="hidden" asp-for="GameId" name="@game.id"/>
<button type="submit" class="dropdown-item btn btn-block">Default</button>
</form>
В моем CollectController.cs (Controller)
using System;
using GameLibrary.me.Models;
using Microsoft.AspNetCore.Mvc;
namespace GameLibrary.me.Controllers
{
public class CollectController : Controller
{
[HttpGet]
public IActionResult Collect()
{
return View();
}
[HttpPost, ValidateAntiForgeryToken]
public IActionResult Collect(Collect model)
{
Console.WriteLine("**********\n"+model.GameId+"\n**********");
return Content($"Hello {model.GameId}");
}
}
}
В моем Collect.cs (модель)
namespace GameLibrary.me.Models
{
public class Collect
{
public int GameId { get; set; }
}
}
РЕДАКТИРОВАТЬ: Вот что говорит мне моя IDE ...
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 POST https://localhost:5001/browse?game=eevee application/x-www-form-urlencoded 7
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 1.0139ms 200
info: Microsoft.AspNetCore.Server.Kestrel[32]
Connection id "0HLJHIUOU6AKO", Request id "0HLJHIUOU6AKO:00000003": the application completed without reading the entire request body.
Буду признателен за любые указания относительно того, что я делаю неправильно ... Также я могу отправить несколько значений через скрытый тип поля или мне нужно создать новый тип скрытого поля для каждого значения?