Создайте строго типизированное представление из кода и загрузите его - PullRequest
1 голос
/ 14 мая 2011

У меня есть созданная строго типизированная страница просмотра, которая выглядит следующим образом:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Models.Reports.OverallResultsViewModel>" %>

Я пытаюсь создать страницу просмотра в коде и отобразить ее, не отображая ее:

System.Web.Mvc.ViewPage<Models.Reports.OverallResultsViewModel> page2 = new ViewPage<Models.Reports.OverallResultsViewModel>();

Вот реализованная модель представления:

public class OverallResultsViewModel {
    public OverallResultsViewModel(string name, string draft, IEnumerable<Subject> subjects, IEnumerable<IResult> results) {
        this.Name = name;
        this.Draft = draft;
        this.Subjects = subjects;
        this.Results = results;
    }

    public IEnumerable<Subject> Subjects { get;  set; }
    public IEnumerable<IResult> Results { get;  set; }
    public string Name { get;  set; }
    public string Draft { get;  set; }
}

Я думал, что использовал бы следующий код для передачи значений в модель представления:

page2.Model.Draft = Draft;
page2.Model.Results = page2Data;
page2.Model.Subjects = subjects;
page2.Model.Name = Name;

Но яполучить сообщение о том, что модель является нулевой.Как мне инициализировать модель, чтобы я мог установить переменные для нее?

1 Ответ

2 голосов
/ 14 мая 2011

Попробуйте:

page2.<a href="http://msdn.microsoft.com/en-us/library/system.web.mvc.viewdatadictionary.aspx" rel="nofollow">ViewData</a>.Model = new OverallResultsViewModel( <br/> Name, Draft, subjects, page2Data<br/> );

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