2017-03-13 4 views
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을 반환합니다.

+0

명백히 모델 직렬화가 성공하지 못했습니다. 원시 요청 데이터가 올바른지 확인할 수 있습니다. – Fabio

답변

0

FromBody 속성을 컨트롤러 메소드에 추가하십시오.

public ActionResult Create([FromBody]Company company)