Публикация данных из представления в модель и элемент управления возвращает ноль

В настоящее время я занят проектом, в котором я использую ASP.NET MVC. Когда я пытаюсь отправить данные на модель и контроллер, я получаю 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.

1 ответ

Попробуйте добавить атрибут FromBody в свой метод контроллера.

public ActionResult Create([FromBody]Company company)

Другие вопросы по тегам