-1

we have some c# model

public class PartnerRegistrationForm
{
    public string Name { get; set; }
    public string Company { get; set; }
    public string Email { get; set; }
}

class that contains this model

public class PartnerRegistrationFormHolder
{
    public PartnerRegistrationForm PartnerRegistrationForm { get; set; }
}

view

@model WebApplication1.Models.PartnerRegistrationFormHolder

@using (Html.BeginForm("Index", "Registration", FormMethod.Post))
{
    @Html.TextBoxFor(e => e.PartnerRegistrationForm.Name)
    @Html.TextBoxFor(e => e.PartnerRegistrationForm.Email)
    @Html.TextBoxFor(e => e.PartnerRegistrationForm.Company)
    <button type="submit">Send</button>
}

this method TextBoxFor create inputs with long names like 'PartnerRegistrationForm.Company'

ok, its reflection magic

then i fill this form and submit it

i have view

[HttpPost]
public ActionResult Index(PartnerRegistrationFormHolder partnerRegistrationFormHolder)
{
    return new HttpNotFoundResult();
}

i run my program with debug and take a breakpoint on this action

HOW MVC create object from form? can anyone explain me or give me some link where to read?

1 Answers1

0

more reflection magic :) it's called model binding:

https://learn.microsoft.com/en-us/aspnet/core/mvc/models/model-binding?view=aspnetcore-2.1

Z .
  • 12,657
  • 1
  • 31
  • 56