0
我正在制作一个露营程序。客户可以在网站上预订,接待员可以接受并在客户到达时向客户添加更多信息(如护照号码)。填写多表格一个MVC C#
我的预约表看起来是这样的:
[ID] INT IDENTITY (1, 1) NOT NULL,
[StartDatum] DATE NULL,
[EindDatum] DATE NULL,
[Plaats] VARCHAR (50) NULL,
[Status] VARCHAR (50) NULL,
[KlantID] INT NULL,
CONSTRAINT [FK_Reserveringen_ToTable] FOREIGN KEY ([KlantID]) REFERENCES [dbo].[Klants] ([Id])
而我的客户表看起来像这样:
[Id] INT IDENTITY (1, 1) NOT NULL,
[Voornaam] VARCHAR (50) NOT NULL,
[Achternaam] VARCHAR (50) NOT NULL,
[Adres] VARCHAR (50) NOT NULL,
[Postcode] VARCHAR (50) NULL,
[Plaats] VARCHAR (50) NULL,
[Telefoon] INT NOT NULL,
[Geboortedatum] INT NULL,
[Documentnr] INT NULL,
[Verificatiemiddel] VARCHAR (50) NULL,
[Emailadres] VARCHAR (50) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
我有一个做customer表和保留表的典范。
这是我的看法怎么看起来像预订的网站
@model Camping.Domain.Entities.Reservering
<div class="panel panel-success">
<div class="panel-heading text-center"><h4>RSVP</h4></div>
<div class="panel-body">
@using (Html.BeginForm("KlantToevoegen", "Klant", FormMethod.Post, new { enctype = "mulipart/formdata" }))
{
@Html.ValidationSummary()
<div class="form-group">
<label>Voornaam:</label>
@Html.TextBoxFor(x => x.Voornaam, new { @class = "form-control" })
</div>
<div class="form-group">
<label>Achternaam:</label>
@Html.TextBoxFor(x => x.Achternaam, new { @class = "form-control" })
</div>
<div class="form-group">
<label>Emailadres:</label>
@Html.TextBoxFor(x => x.Emailadres, new { @class = "form-control" })
</div>
<div class="form-group">
<label>Telefoonnummer:</label>
@Html.TextBoxFor(x => x.Telefoonnnummer, new { @class = "form-control" })
</div>
<div class="form-group">
<label>Datum aankomst:</label>
@Html.TextBoxFor(x => x.StartDatum, new { @class = "form-control" })
</div>
<div class="form-group">
<label>Datum vertrek:</label>
@Html.TextBoxFor(x => x.EindDatum, new { @class = "form-control" })
</div>
<div class="form-group">
<label>Plaats:</label>
@Html.TextBoxFor(x => x.Plaats, new { @class = "form-control" })
</div>
<div class="text-center">
<input class="btn btn-success" type="submit" value="Klant toevoegen" />
</div>
}
</div>
</div>
这种观点我做了一个模型上。那就是:
namespace Camping.Domain.Entities
{
public class Reservering
{
public string Voornaam { get; set; }
public string Achternaam { get; set; }
public int Telefoonnnummer { get; set; }
public string Emailadres { get; set; }
public string Plaats { get; set; }
public DateTime StartDatum { get; set; }
public DateTime EindDatum { get; set; }
}
}
而且控制器类:
using Camping.Domain.Abstract;
using Camping.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Camping.WebUII.Controllers
{
public class ReserveringController : Controller
{
private IRepository repository;
public ReserveringController(IRepository iRepository)
{
this.repository = iRepository;
}
[HttpGet]
public ViewResult ReserveringAanmaken()
{
return View();
}
[HttpPost]
public ActionResult Add(Reservering model)
{
var klant = new Klant
{
Voornaam = model.Voornaam,
Achternaam = model.Achternaam,
Emailadres = model.Emailadres,
Telefoon = model.Telefoonnnummer
};
var reservering = new Reserveringen
{
StartDatum = model.StartDatum,
EindDatum = model.EindDatum,
Plaats = model.Plaats
};
repository.KlantToevoegen(klant);
repository.ReserveringToevoegen(reservering);
return View();
}
}
}
这个解决方案没有工作,出于某种原因,感觉不对我在做什么。任何人都可以将我指向正确的方向吗?了解更多信息。随意问:)
当我通过视图添加日期。我只填写客户表,而不是预订表。
它是如何不工作,完全? – vorou
我收到一个错误:在EntityFramework.dll中发生了类型为“System.Data.Entity.Infrastructure.DbUpdateException”的异常,但未在用户代码中处理 附加信息:更新条目时发生错误。详情请参阅内部例外。 内部例外?我似乎无法找到它们。 但是我觉得你在正确的轨道上? – valheru
用调试器运行它,等待发生异常。您将能够看到异常详细信息,其中会有'InnerException'属性。在那里你会找到更有帮助的描述。 – vorou