我是ASP和MVC的新手,我正在创建一个基于教程的基本应用程序。
该应用程序是一个有三个不同阶段的表单: -
我的应用包含一个数据库,其中包含不同时间戳的字段: -
当用户完成表单的每个阶段时,我想将值推送到表示这些时间戳的数据库。
我无法理解的是如何手动执行此操作。
让我告诉你一个我的表格的例子:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.EditorFor(model => model.customerFirstname)
@Html.EditorFor(model => model.customerSurname)
}
然后,在我的控制器中,我只是有一个方法可以自动将这些数据从表单推送到数据库:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Summary(Customer customer, int? someJargValue)
{
try
{
// At this point push the data to the database
if (ModelState.IsValid)
{
db.Customers.Add(customer);
db.SaveChanges();
// At this point - what if I want to add additional data to the database
// which is not present in the form? Is there a db.Customers.setfield or something?
return RedirectToAction("DatabaseEntries", customer);
}
}
catch (DataException dex)
{
ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.\nError details: " + dex);
System.Diagnostics.Debug.WriteLine("Error occured when attempting to save changes: " + dex);
}
return View(customer);
}
请参阅上面的注释,上面的代码片段中的return语句。我想手动将一些数据添加到表单中不存在的数据库字段之一。
谢谢!