Я знаю, что это старая проблема, на которую много раз отвечали, но я искал несколько месяцев, не решая мою проблему.
Мое приложение является только локальным и должно быть en AU Я новичок, и ответы, которые я нашел, относятся к глобальному файлу, которого нет в MVC 5, поэтому я полностью сбит с толку (полагаю, я использую Startup.cs ??). Не знаю, нужен ли мне собственный маршрут или пользовательское связующее для моделей.
Модель
{
public partial class SuspensionHist
{
[Key]
[Column(Order = 0)]
public int AssociId { get; set; }
[Key]
[Column(Order = 1)]
public short SuspensionNo { get; set; }
[Key]
[Column(Order = 2)]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime SuspensionDate { get; set; }
public short? OffenceNo { get; set; }
public bool? SuspensionServed { get; set; }
public byte[] SsmaTimeStamp { get; set; }
}
}
Контроллер
// GET: SuspensionHists / Edit / 5
Публичная асинхронная задача Edit (int? AssociId, короткий? SuspensionNo, DateTime SuspensionDate)
{
если (AssociId == ноль)
{
return NotFound ();
}
if (SuspensionNo == null)
{
return NotFound();
}
if (SuspensionDate == null)
{
return NotFound();
}
var suspensionHist = await _context.SuspensionHist.FindAsync(AssociId, SuspensionNo, SuspensionDate);
if (suspensionHist == null)
{
return NotFound();
}
ViewBag.SuspensionNo = new SelectList(_context.Suspension, "SuspensionNo", "SuspensionNo");
return View(suspensionHist);
}
// POST: SuspensionHists/Edit/5
// 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> Edit(int? AssociId, short? SuspensionNo, DateTime SuspensionDate, [Bind("AssociId,SuspensionNo,SuspensionDate,OffenceNo,SuspensionServed,SsmaTimeStamp")] SuspensionHist suspensionHist)
{
if (AssociId != suspensionHist.AssociId)
{
return NotFound();
}
if (SuspensionNo != suspensionHist.SuspensionNo)
{
return NotFound();
}
if (SuspensionDate != suspensionHist.SuspensionDate)
{
return NotFound();
}
if (ModelState.IsValid)
{
try
{
_context.Update(suspensionHist);
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!SuspensionHistExists(suspensionHist.AssociId))
{
return NotFound();
}
else
{
throw;
}
}
return RedirectToAction(nameof(Index));
}
return View(suspensionHist);
}