Я пытаюсь разместить бронирование автомобиля, и хотя все значения публикуются при отладке, все равно получаю ошибку.
Я также проверил сеть в инструментах разработчика и все значения, видимые в полезной нагрузке. Но выдает ошибку о PricingID, например "Нет элемента ViewData типа 'IEnumerable' с ключом 'PricingID'".
Я могу разместить его правильно с помощью swagger.
public async Task<IActionResult> Index(int id)
{
ViewBag.v1 = "Rent A Car";
ViewBag.v2 = "Rent A Car Form";
ViewBag.v3 = id;
var client = _httpClientFactory.CreateClient();
var responseMessage = await client.GetAsync("https://localhost:44380/api/Location");
var jsonData = await responseMessage.Content.ReadAsStringAsync();
var values = JsonConvert.DeserializeObject<List<ResultLocationDto>>(jsonData);
List<SelectListItem> values2 = (from x in values
select new SelectListItem
{
Text = x.Name,
Value = x.Id.ToString()
}).ToList();
ViewBag.v = values2;
var responseMessage2 = await client.GetAsync("https://localhost:44380/api/Pricing");
var jsonData2 = await responseMessage2.Content.ReadAsStringAsync();
var pricings = JsonConvert.DeserializeObject<List<ResultPricingDto>>(jsonData2);
List<SelectListItem> values3 = (from x in pricings
select new SelectListItem
{
Text = x.Name,
Value = x.Id.ToString()
}).ToList();
ViewBag.pricing = values3;
return View();
}
@model CreateReservationDto
@{
ViewData["Title"] = "Index";
Layout = "~/Views/UILayout/Index.cshtml";
}
<div class="col-md-12 block-9 mb-md-5">
<form class="bg-light p-5 contact-form" method="post">
<h3 class="alert alert-success">Car Reservation Form</h3>
<br />
<input type="hidden" asp-for="CarID" value="@ViewBag.v3" class="form-control" placeholder="Your Car">
<div class="form-group">
<input type="text" asp-for="Name" class="form-control" placeholder="Name">
</div>
<div class="form-group">
<input type="text" asp-for="Surname" class="form-control" placeholder="Surname">
</div>
<div class="form-group">
<input type="text" asp-for="Email" class="form-control" placeholder="Email">
</div>
<div class="form-group">
<input type="text" asp-for="Phone" class="form-control" placeholder="Phone">
</div>
<div class="form-group">
@Html.DropDownListFor(x => x.PricingID, (List<SelectListItem>)ViewBag.pricing, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.DropDownListFor(x => x.PickUpLocationID, (List<SelectListItem>)ViewBag.v, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.DropDownListFor(x=>x.DropOffLocationID,(List<SelectListItem>)ViewBag.v,new{@class="form-control"})
</div>
<div class="form-group">
<input type="text" asp-for="Age" class="form-control" placeholder="Age">
</div>
<div class="form-group">
<input type="text" asp-for="DriverLicenseYear" class="form-control" placeholder="Driver License Year">
</div>
<div class="form-group">
<textarea asp-for="Description" id="" cols="30" rows="7" class="form-control" placeholder="Your requests"></textarea>
</div>
<div class="form-group">
<input type="submit" value="Send Reservation" class="btn btn-primary py-3 px-5">
</div>
</form>
</div>
Евграф
Вопрос задан23 марта 2024 г.