Заполнение выпадающего списка из базы данных
У меня есть форма с выпадающим списком "MsgType", которая будет извлекать свой вариант из таблицы базы данных "DDLMsgType".
Веб-форма создается путем построения каркасов модели ContactRecord, которые также содержат MsgType.
Я попытался заполнить MsgType в форму MsgType, но мой код не работает. Я хотел бы спросить, что я пропустил. Спасибо.
<div class="form-group"> <label asp-for="MsgType" class="control-label"></label> <select asp-for="MsgType" asp-items="Model.MsgTypeSL" class="form-control" /> <span asp-validation-for="MsgType" class="text-danger"></span> </div>
Что я уже пробовал:
DDLMsgType.в CS
public class DDLMsgType { public int MsgTypeID { get; set; } public string MsgType { get; set; } public string MsgTypeStatus { get; set; } }
ContactRecord.в CS
public partial class ContactRecord { public long ContactId { get; set; } [Required(ErrorMessage = "Please enter your name."), MaxLength(50)] [Display(Name = "Name")] public string SenderName { get; set; } [Required(ErrorMessage = "Please select the Message Type")] [Display(Name = "Message Type")] public string MsgType { get; set; } public SelectList MsgTypeSL { get; set; }
public class ContactRecordsController : Controller { private readonly theManagerContext _context; public ContactRecordsController(theManagerContext context) { _context = context; } // GET: ContactRecords public async Task<IActionResult> Index() { return View(await _context.ContactRecord.ToListAsync()); } private void PopulateMsgTypes(object selectedMsgType=null) { var MsgTypeQuery = from p in _context.DDLMsgType orderby p.MsgType select p; } // GET: ContactRecords/Create public IActionResult Create() { return View(); } // POST: ContactRecords/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Create([Bind("ContactId,SenderName,MsgType,Subject,Email,ContactNo,CreateTime,FollowedUpBy,Status")] ContactRecord contactRecord) { if (ModelState.IsValid) { _context.Add(contactRecord); await _context.SaveChangesAsync(); return RedirectToAction(nameof(Index)); } return View(contactRecord); } // GET: ContactRecords/Edit/5 public async Task<IActionResult> Edit(long? id) { if (id == null) { return NotFound(); } var contactRecord = await _context.ContactRecord.FindAsync(id); if (contactRecord == null) { return NotFound(); } PopulateMsgTypes("MsgType"); return View(contactRecord); }
ZurdoDev
Я не понимаю, о чем вы нас спрашиваете.