Модель всегда NULL, когда POST из представления в контроллер - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть этот код в моем контроллере

        public IActionResult Create()
        {
            return View(new Partner());
        }

        [HttpPost]
        //[ValidateAntiForgeryToken]
        public IActionResult Create(Partner model, IFormCollection pForm)
        {
            _uow.Partner.Insert(model);

            return View("List");
        }

Вот модель

public class Partner
{
    public Guid ID;
    public string Type;
    public string Code;
    public string Name;
    public string IDCard;
    public DateTime BirthDate;
    public bool CardStatus;
    public string Address;
    public string Email;
}

А вот View

<form role="form" asp-action="Create">
                    <div class="box-body">
                        <div class="form-group">
                            <label>Type</label>
                            <input asp-for="Type" type="text" class="form-control">
                        </div>
                        <div class="form-group">
                            <label>Code</label>
                            <input asp-for="Code" type="text" class="form-control">
                        </div>
                        <div class="form-group">
                            <label>Name</label>
                            <input asp-for="Name" type="text" class="form-control">
                        </div>
                        <div class="form-group">
                            <label>ID Card</label>
                            <input asp-for="IDCard" type="text" class="form-control">
                        </div>
                        <div class="form-group">
                            <label>Email</label>
                            <div class="input-group">
                                <span class="input-group-addon"><i class="fa fa-envelope"></i></span>
                                <input asp-for="Email" type="email" class="form-control">
                            </div>
                        </div>
                        <div class="checkbox">
                            <label>
                                <input asp-for="CardStatus" type="checkbox"> Card Status
                            </label>
                        </div>
                    </div>
                    <!-- /.box-body -->
                    <div class="box-footer">
                        <a href="/Partner/List/"><button type="button" class="btn btn-default">Back</button></a>&nbsp
                        <button type="submit" class="btn btn-primary">Submit</button>
                    </div>
                </form>

HTTPOST не будет автоматически связывать модельи всегда возвращаю NULL, я проверил FormCollection и, кажется, все правильные значения, что я делаю не так?

1 Ответ

1 голос
/ 27 апреля 2019

Свойства в модели должны быть определены как авто свойства.

public class Partner
{
    public Guid ID {get; set;}
    public string Type {get; set;}
    public string Code {get; set;}
    public string Name {get; set;}
    public string IDCard {get; set;}
    public DateTime BirthDate {get; set;}
    public bool CardStatus {get; set;}
    public string Address {get; set;}
    public string Email {get; set;}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...