我有一个包含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属性?
答案 0 :(得分:1)
要在视图中获取强类型模型,您需要使用ViewModel模式outlined here。
答案 1 :(得分:0)
我猜测,根据问题中返回语句的性质,SurveyResponse继承了某些东西 - 也许是ViewResponse。这不是解决这个问题的方法。相反,您需要创建一个封装您要查看的数据的数据对象,然后将其传递给视图响应:
MyDataObject obj = new MyDataObject();
//set some properties, etc
return View(MyDataObject);
然后,您可以通过Model属性以强类型方式访问MyDataObject。