наследование viewModel не работает в MVC - PullRequest
1 голос
/ 21 ноября 2011

Почему моя viewModel не наследуется? У меня есть следующие viewModels:

public class BaseViewModel {

    public BaseViewModel() {
        Location = new Location { };
    }
    public Location Location { get; set; }

}

public class EditViewModel : BaseViewModel {
    public Book Book { get; set; }
}

В моем контроллере:

        var viewModel = new EditViewModel
        {
            Book = new Book { Test = "ABC" },
            Location = { City = "AAA" }
        };

Когда я проверяю, как выглядит viewModel, я обнаруживаю, что он не содержит класс местоположения, хотя мое представление наследуется от BaseViewModel. Может кто-нибудь понять, почему это так. Как я могу убедиться, что представление содержит Location?

1 Ответ

2 голосов
/ 21 ноября 2011

Странно, потому что следующее компилируется и прекрасно работает для меня:

public ActionResult Index()
{
    var viewModel = new EditViewModel
    {
        Book = new Book { Test = "ABC" },
        Location = new Location { City = "AAA" }
    };
    return View(viewModel);
}

и в представлении:

@model EditViewModel
@Model.Location.City
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...