【问题标题】:Create strongly typed view from code and load it从代码创建强类型视图并加载它
【发布时间】:2011-05-13 20:49:28
【问题描述】:

我创建了一个强类型视图页面,如下所示:

<%@ 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;

但我收到一条错误消息,指出模型为空。如何初始化模型以便我可以在其上设置变量?

【问题讨论】:

    标签: c# asp.net-mvc strongly-typed-view


    【解决方案1】:

    试试:

    page2.@987654321@.Model = new OverallResultsViewModel(
                       Name, Draft, subjects, page2Data
     );

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多