2010-07-08 2 views
1

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

Edit:

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

+0

Если у вас нет класса в вашей модели, как вы должны его отображать? – Oded

ответ

3

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

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 быть и должны константы выглядит поставляться контроллером.

+0

Да, это то, о чем я спрашивал. – Freshblood

1

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

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

msdn

+0

+1 Согласен, в зависимости от того, хотите ли вы, чтобы он был видимым для ВСЕХ видов или только для определенного вида? Теперь нам просто нужно, чтобы кто-то напал и объединил их в мега-ответ и wal-mart нас из бизнеса;) – TJB

3

Вы, вероятно, нужно добавить несколько имен в 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

+0

+1 оба наших ответа верны в зависимости от обстоятельств, если я получаю этот вопрос правильно –

+0

Могу ли я передать список экземпляр от контроллера для просмотра с этим? – Freshblood

+0

Хорошо, это что-то другое (набрав новый ответ ...) – TJB

Смежные вопросы