代码之家  ›  专栏  ›  技术社区  ›  Jon

ASP.NET&MVC混合应用程序模型不工作

  •  1
  • Jon  · 技术社区  · 15 年前

    我有一个web应用程序,其中包含asp.netweb窗体和mvc视图,但在视图中遇到强类型模型的问题。

    <%@ Page Inherits="System.Web.Mvc.ViewPage<Survey.Models.SurveyResponse>" Language="C#" MasterPageFile="~/Views/Shared/ExternalSurvey.Master" %>
    

    但是在视图中,我无法访问Model属性。

    在我的控制器里

    return (new Survey.Models.SurveyResponse());
    

    为什么我不能访问视图中的模型属性?

    2 回复  |  直到 15 年前
        1
  •  1
  •   George Stocker NotMe    15 年前

    要在视图中获得强类型模型,需要使用ViewModel模式 outlined here .

        2
  •  0
  •   Wyatt Barnett    15 年前

    我猜,从这个问题的return语句的性质来看,SurveyResponse继承了一些东西——也许是ViewResponse。这可不是个好办法。相反,您需要创建一个数据对象来封装要查看的数据,然后将其传递给视图响应:

    MyDataObject obj = new MyDataObject();
    //set some properties, etc
    return View(MyDataObject);
    

    然后可以通过Model属性以强类型方式访问MyDataObject。