Ядро страницы Asp.net бритва: как сделать выберите значение из списка элемент списка?
Дорогие все,
Ваша помощь будет признательна за эту проблему, с которой я столкнулся asp.net основная страница бритвы.
у меня есть страница razor с полем выбора списка. Когда элемент выбран, я хочу получить выбранное значение в качестве параметра функции поиска. Функция find должна возвращать некоторые значения из базы данных, чтобы автоматически заполнить некоторые поля на странице.
Моя проблема заключается в том, как отправить выбранное значение из формы в модель страницы, с одной стороны, а с другой стороны, как отправить обратно найденные значения в некоторые поля формы.
Спасибо за вашу помощь
Что я уже пробовал:
Форма со списком выбора
form method="post"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <input type="hidden" asp-for="Programmation.IdProgr" /> <div class="form-group"> <label asp-for="PrgBareme.IdBareme" class="control-label"></label> <select asp-for="SelectedIdBareme" class="form-control" asp-items="Model.BaremeList"> <option value="">-- Selectionner un article --</option> </select> <span asp-validation-for="PrgBareme.IdBareme" class="text-danger" /> </div> <div class="form-group"> <label asp-for="PrgBareme.PrgPrix" class="control-label"></label> <input asp-for="PrgBareme.PrgPrix" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.PrgRation1" class="control-label"></label> <input asp-for="PrgBareme.PrgRation1" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.PrgQte1" class="control-label"></label> <input asp-for="PrgBareme.PrgQte1" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.PrgQte2" class="control-label"></label> <input asp-for="PrgBareme.PrgQte2" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.NbrePlat1" class="control-label"></label> <input asp-for="PrgBareme.NbrePlat1" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.PrgQte3" class="control-label"></label> <input asp-for="PrgBareme.PrgQte3" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.NbrePlat2" class="control-label"></label> <input asp-for="PrgBareme.NbrePlat2" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.NbreCrtTomate" class="control-label"></label> <input asp-for="PrgBareme.NbreCrtTomate" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.NbreBidHuile" class="control-label"></label> <input asp-for="PrgBareme.NbreBidHuile" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.NbreCartSardine" class="control-label"></label> <input asp-for="PrgBareme.NbreCartSardine" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.PrgUnite" class="control-label"></label> <input asp-for="PrgBareme.PrgUnite" class="form-control"> </div> <div class="form-group"> <label asp-for="PrgBareme.PrgReversement" class="control-label"></label> <input asp-for="PrgBareme.PrgReversement" class="form-control"> </div> <!-- <div class="form-group"> <label asp-for="PrgBareme.PrgEtat" class="control-label"></label> <select asp-for="PrgBareme.ProjectStateCode" class="form-control" asp-items="ViewBag.ProjectStateCode"></select> </div>--> <div class="form-group"> <input type="submit" value="Create" class="btn btn-default" /> </div> </form>
Сценарий модели страницы
using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Kibsa.Data.Manager_Service; using Microsoft.EntityFrameworkCore; using Microsoft.AspNetCore.Mvc.Rendering; namespace Kibsa.Pages.Programmations { public class Programmation_BaremeCreateModel : PageModel { private readonly db_kibsaContext _context; public Programmation_BaremeCreateModel(db_kibsaContext context) { _context = context; } [BindProperty] public Programmation Programmation { get; set; } [BindProperty] public int SelectedIdBareme { get; set; } public List<SelectListItem> BaremeList; public async Task<IActionResult> OnGet(int? id) { if (id == null) { return NotFound(); } Programmation = await _context.Programmation.Include(c => c.PrgBareme).FirstOrDefaultAsync(c => c.IdProgr == id); if (Programmation == null) { return NotFound(); } BaremeList = _context.Bareme.Select(s => new SelectListItem { Value = s.IdBareme.ToString(), Text = s.BarLibelle }).ToList(); // Get the bareme values of the selected value from database List<Bareme> lstbareme = new List<Bareme>(); lstbareme = (from Bareme in _context.Bareme where Bareme.IdBareme == SelectedIdBareme select Bareme).ToList(); return Page(); } [BindProperty] public PrgBareme PrgBareme { get; set; } public async Task<IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return Page(); } PrgBareme.IdProgr = PrgBareme.IdProgr; _context.PrgBareme.Add(PrgBareme); await _context.SaveChangesAsync(); return RedirectToPage("./Programmation_Bareme", new { id =Programmation.IdProgr }); } } }
Gerry Schmitz
Мне кажется, ты просишь слишком многого.