Как мы можем передать экземпляры класса для просмотра? - PullRequest
1 голос
/ 08 июля 2010

Мне просто интересно, можем ли мы передать экземпляры любого типа для просмотра, которых нет в нашем репозитории Model. Например, я просто хочу показать значения свойств любого экземпляра класса, который существует в .net framework, например List, ListArrayи др.

Редактировать:

Вопрос отредактирован, причина недопонимания.

Ответы [ 3 ]

3 голосов
/ 08 июля 2010

Возможно, вам нужно добавить несколько пространств имен в Web.Config.

<pages>
 <namespaces>
  <add namespace="System.Web.MVC"/>
  <add namespace="System.Web.LINQ"/>
  <!-- ... -->
  <!-- Add more namespaces you need here -->
 </namespaces>
</pages>

Вы действительно должны иметь доступ к любому классу в вашем приложении / включениям в ваших представлениях, ноВы должны квалифицировать их с пространством имен.По умолчанию включены только несколько пространств имен.

Вот статья, в которой объясняется, как добавить пространства имен в Web.Config, чтобы вы могли получить доступ к классам в этом пространстве имен непосредственно в ваших представлениях:

http://davidhayden.com/blog/dave/archive/2009/10/13/ViewNamespacesInWebConfig.aspx

3 голосов
/ 08 июля 2010

Возможно, вам нужно создать строго типизированное представление В этом руководстве должны быть показаны шаги:

http://stephenwalther.com/blog/archive/2009/04/13/asp.net-mvc-tip-50-ndash-create-view-models.aspx

Короче говоря, объявление вВ верхней части вашего представления необходимо указать тип модели, которую вы ожидаете от контроллера, например:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" 
Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Controllers.ProductViewModel>" %>

Где Inherits = "... ProductViewModel " - любой тип, который вы хотите .Model переменная должна быть и, следовательно, должна быть предоставлена ​​контроллером.

1 голос
/ 08 июля 2010

Вы имеете в виду:

<%@ Import Namespace="System.Collections.Generic" %>

msdn

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