Форма отправляет запрос на получение и получает следующий вид
@using System.Linq;
@model List<Searchphone>
<h2 class="search1"></h2>
<form class="priceeconom1" method="post" asp-action="Index" asp-controller="Home">
@foreach (var p in Model)
<table>
{
<tr class="searchdata">
<td class="flight">@p.ColourPhone</td>
<td class="fromtable">@p.TypePhone</td>
<td class="fromtable">@p.SizePhone</td>
<td class="fromtable">@p.PriceLight</td>
<td class="fromtabletime">@p.PriceOk</td>
<td class="totable">@p.PriceHigh</td>
</tr>
}
</table>
Все данные генерируются из нескольких связанных таблиц. Предполагается, что пользователь выбирает одну из «цен», и форма должна пройти выбранные данные и цена в запросе на публикацию.
2) Я сделал это так:
@using System.Linq;
@model List<Searchphone>
<h2 class="search1"></h2>
<form class="priceeconom1" method="post" asp-action="Index" asp-controller="Home">
@foreach (var p in Model)
<table>
{
<tr class="searchdata">
<td class="flight"><input type="text" name="@p.ColourPhone</td>
<td class="fromtable"><input type="text" name="@p.TypePhone</td>
<td class="fromtable"><input type="text" name="@p.SizePhone</td>
<td class="pricelight"><input type="checkbox" name="@p.PriceLight.ToString("")"/></td>
<td class="fromtabletime"><input type="checkbox" name="@p.PriceOk.ToString("")/></td>
<td class="totable"><input type="checkbox" name="@p.PriceHigh.ToString("")/></td>
<td class="button13"><button type="submit" asp-action="Buy" asp-route-id="@p.PhoneId" asp-controller="Home">Next</button></td>
</tr>
}
</table>
</form>
Когда мне нужно go до следующего пост-формы. И я сделал следующее представление
@using System.Linq;
@using System;
@model List<Searchphone>
@{
ViewBag.Title = "PhoneId";
}
<h2 class="orderinformation">Order Data</h2>
<form method="post" class="formpass">
<input type="hidden" id="PhoneId"value="@ViewBag.PhoneId" name="PhoneId">
<label for="OrderSurName">Surname</label><br>
<input type="text" placeholder="Enter Surname" name="OrderSurName" required><br>
<label for="OrderName">Имя</label><br>
<input type="text" placeholder="Enter Name" name="OrderName" required><br>
<button type="submit" class="button7">To pay</button>
</form>
Контроллер
[HttpGet]
public IActionResult Buy(int? id)
{
if (id == null) return RedirectToAction("Index");
ViewBag.PhoneId = id;
return View();
}
[HttpPost]
public string Buy(Order order)
{
context.Orders.Add(order);
context.SaveChanges();
return "Thanks, " + order.OrderName;
}
Но у меня проблема. Я получил URL: ~ / Home / Buy / 0 и просмотр с возвратом «Спасибо». Я не получаю представление для ввода данных заказа. Порядок таблиц в базе данных получает значения по умолчанию и нулевые значения. В чем моя ошибка?