Как я могу использовать и заполнить модель базового вида на главной странице? - PullRequest
1 голос
/ 11 октября 2010

У меня есть главная страница asp.net, и все мои контроллеры наследуются от базы контроллеров. Все мои модели представлений наследуются от ViewBase. Как я могу иметь базовый набор данных на главной странице, который заполняется из базового контроллера в базу просмотра, а затем в главную страницу?

1 Ответ

0 голосов
/ 11 октября 2010

То, что я делал в прошлом, использует ViewData для заполнения моей главной страницы.

Внутри вашей главной страницы вы можете поместить:

<% var baseModel = ViewData["baseModel"] as BaseViewModel; %>

затем

baseModel.xx для любых свойств, которые вам нужны по всей вашей главной странице.

В моей ControllerBase я затем переопределяю OnActionExecuting и заполняю viewData экземпляром моего baseViewModel.

    protected override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        base.OnActionExecuted(filterContext);
        if (filterContext.Canceled || filterContext.Exception != null)
            return;

         var viewResult = filterContext.Result as ViewResult;
         var viewModel = new BaseViewModel();
         PopulateBaseViewModel(viewModel);
         viewResult.ViewData["baseModel"] = viewModel;            
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...