Свойство модели MVC передано как ноль

У меня есть строго типизированные представления, где я передаю редакторы для нескольких свойств, например.

public class BookingModel
{
    public FirstPropertyModel FirstProperty { get; set; }
    public SecondPropertyModel SecondProperty { get; set; }
    public ThirdPropertyModel ThirdProperty { get; set; }
}

@model MyWebsite.Models.BookingModel
@using (Html.BeginForm("Order", "Booking", FormMethod.Post, new { @id = "order_summary" }))
{
    @Html.EditorFor(model => model.FirstProperty, "_FirstProperty")
    @Html.EditorFor(model => model.SecondProperty, "_SecondProperty")
    @Html.EditorFor(model => model.ThirdProperty, "_ThirdProperty")
    <input type="submit" id="btnOrder" value="Order" />
}

Все объекты свойств передаются действию, но одно свойство (First) имеет значение null.

Все они находятся в EditorTemplates, и их представления также строго типизированы - используйте свои собственные модели.

Любая идея, почему это происходит?

2 ответа

Я бы попробовал инициализировать / создать экземпляр свойств BookingModel в конструкторе, чтобы посмотреть, поможет ли это

public class BookingModel
{
    public BookingModel()
    {
        FirstProperty = new FirstPropertyModel();
        SecondProperty = new SecondPropertyModel();
        ThirdProperty = new ThirdPropertyModel();
    }
    public FirstPropertyModel FirstProperty { get; set; }
    public SecondPropertyModel SecondProperty { get; set; }
    public ThirdPropertyModel ThirdProperty { get; set; }
}

У меня была проблема с отображением некоторых свойств модели в представлении свойств, поэтому после исправления свойства проблема с нулем была исправлена. Спасибо за ответы

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