ModelState가 유효하지 않기 때문에 개체 생성이 실패합니다. 어떤 도움을 주시면 감사하겠습니다.외래 키 관계로 인해 Modelstate가 유효하지 않습니다.
public partial class Timerecord
{
public int ID { get; set; }
public int locationID { get; set; }
public int teamID { get; set; }
public int actionID { get; set; }
public System.DateTime currentTime { get; set; }
public virtual Location Location { get; set; }
public virtual Action Action { get; set; }
}
정확하게 제공 Timerecord의 작성에 실패 오류로 인해 : 단순화 된 모델의 모습을 는 "매개 변수 변환 유형 '선택 System.String'에서 입력 'Project.Models.Action는'더 때문에 실패하지 형식 변환기는 이러한 형식간에 변환 할 수 있습니다. "} System.Exception {System.InvalidOperationException}
Timerecord의 모든 특성은 훌륭하지만 Action과 Location은 모두 Null입니다. 올바른지). 이물질을 직접 설정하고 모델을 재평가해야합니까, 아니면 생성자 Action (string)을 제공해야합니까?
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Timerecord tm)
{
try
{
if (ModelState.IsValid)
{
db.Timings.Add(tm);
db.SaveChanges();
return RedirectToAction("Index");
}
else
{
var errors = ModelState.SelectMany(x => x.Value.Errors.Select(z => z.Exception));
...
}
...
문제는 컨트롤러의 작성 방법에 의한 것으로 보인다 (간체) :
public ActionResult Create()
{
Timerecord tm = new Timerecord();
LocationDBContext dbLoc = new LocationDBContext();
ActionDBContext dbAct = new ActionDBContext();
tm.currentTime = DateTime.Now;
tm.locationID = 1;
tm.actionID = 5;
tm.Location = dbLoc.Location.Find(tm.locationID);
/* THE PROBLEM: tm.Action = dbAct.Action.Find(tm.actionID); PROBLEM HERE */
ViewData.Model = tm;
return View();
}
위치는 아무 문제가 발생하지 않습니다, 액션 않습니다 .. 어떤 도움 감사합니다!
어디에서 오류가 발생합니까? –
"동안"오류가 발생합니다 레코드 만들기 : public ActionResult Create (Timerecord tr) 이 메서드는 ModelState가 잘못되었습니다. – Gerard
이 코드를 질문에 추가 할 수 있습니까? –