Я очень новичок в программировании, и я действительно запутался, как это сделать ..
Я пытаюсь сделать таблицу для создания предложения после выбора материалов, которые я хочу.Цена будет меняться, пока я выбираю разные материалы.В конце я сохраню предложение с общей стоимостью и т. Д.
У меня есть список моделей продуктов.И, на мой взгляд, я хотел бы выбрать нужную модель продукта в «Первом столбце», используя ее FullName, и я хочу заполнить другие столбцы в той же строке предопределенными деталями моделей, которые я только что выбрал.
Я сделал исследование, как это сделать.Jquery, Ajax были упомянуты, но мне придется добавить больше этих выпадающих списков с большим количеством Viewbags.Разве мне не нужно писать новый Ajax для каждого выпадающего списка?
Я действительно надеюсь, что буду руководствоваться, каким образом мне следует попытаться это сделать.
Заранее спасибо!
public class Model:BaseEntity
{
public TypeOfPart TypeOfPart { get; set; }
public string BrandName { get; set; }
public string ModelName { get; set; }
public string VersionName { get; set; }
public decimal? ListPriceTL { get; set; }
public decimal? ListPriceForeign { get; set; }
public ForeignCurrency? ForeignCurrency { get; set; }
public decimal CurrentDiscount { get; set; } = 0.00M;
public int? CertificateId { get; set; }
public Certificate Certificate { get; set; }
public string FullName => $"{BrandName} {ModelName} {VersionName}";
Мой контроллер
public IActionResult Create()
{
int amountOfElevators = Convert.ToInt32(TempData["Amount"]);
ViewBag.amount = amountOfElevators;
ViewData["Machines"] = new SelectList(_context.ModelRepo.GetAll()
.Where(x => x.TypeOfPart
==TypeOfPart.Machine),"Id","FullName");
ViewData["ConstructionCompanyId"] = new
SelectList(_context.ConstructionCompanyRepo.GetAll(), "Id", "Name","Id");
ViewData["EmployeeId"] = new
SelectList(_context.EmployeeRepo.GetAll(), "Id", "FullName");
return View();
}
Вот изображение для более подробного описания того, что мне нужно
РЕДАКТИРОВАТЬ: My View Model
public class InstallationOfferVM
{
public InstallationOfferVM()
{
OfferedElevators = new List<OfferedElevator>();
Models = new List<Model>();
}
public int Id { get; set; }
[Display(Name = "Toplam ₺")]
public decimal TotalPriceTL { get; set; }
[Display(Name = "Toplam €")]
public decimal TotalPriceEuro { get; set; }
[Display(Name = "Açıklama")]
public string Description { get; set; }
[Display(Name = "Müşteri Firma")]
public int ConstructionCompanyId { get; set; }
[Display(Name = "Müşteri Firma")]
public string CompanyName { get; set; }
public ConstructionCompany ConstructionCompany { get; set; }
[Display(Name = "Teklif Tarihi")]
[DataType(DataType.Date)]
public DateTime DateOfProposal { get; set; }
[Display(Name = "Teklifi Veren")]
public int EmployeeId { get; set; }
[Display(Name = "Teklifi Veren")]
public string EmployeeFullName { get; set; }
public Employee Employee { get; set; }
[Display(Name = "Teklif Durumu")]
public ProposalStatus ProposalStatus { get; set; }
[Display(Name = "İletme Şekli")]
public DeliveredBy DeliveredBy { get; set; }
[Display(Name = "Asansör Adedi")]
public int AmountOfElevators { get; set; }
public List<OfferedElevator> OfferedElevators { get; set; }
public OfferedElevator OfferedElevator { get; set; }
public int InstallationOfferId { get; set; }
[Display(Name = "Kapasite")]
public int Capacity { get; set; }
[Display(Name = "Durak")]
public int StopCount { get; set; }
[Display(Name = "Halat Adedi")]
public int MachineRopeCount { get; set; }
[Display(Name = "Askı Tipi")]
public int HangStyle { get; set; } = 1;
[Display(Name = "Tahrik Tipi")]
public DriveType DriveType { get; set; }
[Display(Name = "Ortalama Kat Yüksekliği")]
public decimal AvgFloorHeight { get; set; } = 3.00M;
[Display(Name = "Giriş Adedi")]
public int EntranceCount { get; set; } = 1;
[Display(Name = "Ekstra Kapı")]
public int AdditionalDoor { get; set; } = 1;
[Display(Name = "Ağırlık Yanda İse")]
public bool WeightInSide { get; set; }
[Display(Name = "Kapı Yüksekliği 2100 ise")]
public bool DoorHeightIs2100 { get; set; } = false;
[Display(Name = "Euro Kuru")]
public decimal CurrentEuro { get; set; }
public List<Model> Models { get; set; }
public Model Model { get; set; }
}
My View
@model Ace.ViewModels.InstallationOfferVM
@for (int i = 0; i < ViewBag.amount; i++)
{
<table class="table-sm table-striped table-dark col-md-9">
<thead>
<tr>
<th></th>
<th>Malzeme Cinsi</th>
<th>Adet</th>
<th>Liste Euro</th>
<th>Liste TL</th>
<th>İskonto</th>
<th>Toplam</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td><select asp-for="Model.Id" class="form-control" asp-
items="ViewBag.Machines"></select></td>
<td>1</td>
<td></td>
</tr>
</tbody>
</table>
</div>
<hr />
}
</form>
<div>
<a asp-action="Index">Back to List</a>
</div>