2010-09-09 11 views
6

Quindi ho un ViewModel nella cartella "models" del mio progetto Mvc con uno spazio dei nomi di "Web.Models" (il mio progetto Mvc è chiamato "Web") Penso che valga la pena menzionare che ho altri 3 progetti nella mia soluzione: Dominio, Test e Attività. Il modello di vista è assegnato proprietà da classi nella mia cartella Domain.Entities. Posso creare una nuova istanza del mio viewmodel nel mio controller quando aggiungo lo spazio dei nomi nel mio controller.Asp.Net Mvc: impossibile accedere al mio spazio dei nomi dei modelli dalla mia vista

using Web.Models; 

Quando creo la vista, tuttavia, non riesco a importare il segnaposto. In realtà mi chiede di aggiungere lo spazio dei nomi tramite "alt + invio" o "ctrl + punto" e dice ancora che non può risolvere l'oggetto.

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

Ho anche provato ad aggiungere un riferimento globale per lo spazio dei nomi nel mio web.config, ma senza fortuna. Qualche suggerimento?

risposta

8

È possibile aggiungerlo nel proprio web.config al numero system.web/pages/namespaces. Per esempio,

... 
<namespaces> 
    ... 
    <add namespace="Web.Models"/> 
</namespaces> 
... 
+0

Questo è ciò a cui mi riferivo quando ho creato uno spazio dei nomi "Globale", ma è stato aggiunto nei miei spazi dei nomi del mio Web.confing –

1

Innanzitutto, compila la tua app, quindi assicurati che MyViewModel sia pubblico.

+0

Stato compilato più volte ed è pubblico. –

+0

E 'necessario' funzionare. Prova ad aggiungere un'istruzione di inclusione esplicita nella vista stessa: <% @ Import Namespace = "Web.Models"%> – Clicktricity

+0

Ho provato anche quello. Ho 4 progetti nella soluzione, mi chiedo se mi manca qualcosa in proposito. –

1

scoperto che aveva a che fare con la mia build di ReSharper, ho aggiornato a 5.1 ed è preso cura di quello che presumo fosse una sorta di "cache bug".

+0

Ho eliminato la cache per Resharper, quindi anche questo era il mio problema. Recentemente ho spostato gli spazi dei nomi del modello di visualizzazione nella configurazione Web e non mi è piaciuto. – Cody

Problemi correlati