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