ASP.NET& MVC Hybrid应用程序模型不起作用

时间:2009-09-30 18:27:13

标签: asp.net asp.net-mvc

我有一个包含asp.net Web表单和mvc视图的Web应用程序,但在视图中遇到强类型模型的问题。

这是视图中的页面指令:

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

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

在控制器中我有

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

为什么我无法访问视图中的Model属性?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我猜测,根据问题中返回语句的性质,SurveyResponse继承了某些东西 - 也许是ViewResponse。这不是解决这个问题的方法。相反,您需要创建一个封装您要查看的数据的数据对象,然后将其传递给视图响应:

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

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