0
현재 ASP.NET MVC를 사용하는 프로젝트에서 현재 작업 중입니다. 모델 및 컨트롤러에 데이터를 게시하려고하면 컨트롤러에서 사용한 메서드의 매개 변수에서 NULL이 반환됩니다. 컨트롤러 :뷰에서 모델로 데이터를 게시하고 컨트롤에서 null을 반환합니다.
[HttpPost]
public ActionResult Create(Company company)
{
if (ModelState.IsValid)
{
company.Visible = 1;
company.Created = DateTime.Now;
company.Updated = DateTime.Now;
//Save company to database
cm.AddCompany(company);
cm.SaveChanges();
//Redirect user to Index after created a company
return RedirectToAction(nameof(Index));
}
else
{
return View();
}
}
내 데이터베이스 첫 번째 모델 :
public Company()
{
this.Purchases = new HashSet<Purchase>();
}
public int ID { get; set; }
public string Name { get; set; }
public string Street { get; set; }
public string HouseNumber { get; set; }
public string Zip { get; set; }
public string City { get; set; }
public string Country { get; set; }
public string Mobile { get; set; }
public string Email { get; set; }
public string Branche { get; set; }
public string KVKnumber { get; set; }
public string BTWnumber { get; set; }
public System.DateTime Created { get; set; }
public Nullable<System.DateTime> Updated { get; set; }
public Nullable<int> Visible { get; set; }
public virtual ICollection<Purchase> Purchases { get; set; }
내가 모델과 컨트롤러에 데이터를 전송해야하는보기 : 정말 이유를 잘 모릅니다
@model ExamenProject.Database.Company
<form asp-controller="Company" asp-action="Create" method="post" enctype="multipart/form-data">
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<div class="row">
<div class="col-md-12">
<fieldset>
<label asp-for="Name">Naam</label>
<div class="field">
<input asp-for="Name" class="form-control" style="margin-bottom:2%;" type="text"/>
<span asp-validation-for="Name" />
</div>
</fieldset>
</div>
내 Create 메서드의 매개 변수 회사는 항상 NULL을 반환합니다.
명백히 모델 직렬화가 성공하지 못했습니다. 원시 요청 데이터가 올바른지 확인할 수 있습니다. – Fabio