2012-03-30 10 views
0

Ich habe ein übermäßig seltsames Problem.Fehlende bestimmte @helpers in Ansichten ASP.net MVC3

Ich arbeite an einem Projekt und es wird konvertiert, um asp.net MVC zu verwenden.

Alles funktioniert die Controller/Modelle/Ansichten. Ich bekomme jedes Schlüsselwort in der Steuerung (ViewBag, ViewContext, etc.).

In meinen Ansichten, aber ich bekomme nur ein paar Helfer (zB @Model, @Html), aber ich vermisse andere (@model, @ViewBag, @ViewContext, etc.)

Es ist eine enorme hinderance (ich poste Code, aber ich weiß nicht, welcher Code wirklich relevant ist). Meine web.config ist 100% tot und alle meine anderen MVC-Projekte haben dieses Problem nicht.

  • Web.Config korrekt ist (im Ordner Sichten)
  • Zielrahmen korrekt
  • ich Zugriff auf alle Methoden in meinem Controller haben

ich das Projekt gereinigt haben/re-mapped es, etc. Andere auf anderen Maschinen haben dieses Problem nicht, aber seltsamerweise tue ich (ich habe das Projekt vollständig neu ausgecheckt).

Wie ich schon sagte, ich weiß nicht, welchen Code relevant ist Ich hoffe nur, jemand anderes hat eine Idee, was falsch sein kann. Ich bin verblüfft, da die web.config stimmt, mir fehlen keine Referenzen (alle meine Referenzen verweisen auf den richtigen Ort), und ich kann sie alle im Controller verwenden.

Nur weil ich will nicht angebrüllt werden, hier ist ein Auszug aus meinem web.config in den Ansichten/Ordner

<configuration> 
    <configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 

    <system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

Einer der seltsamsten Fragen die ich je erlebt habe: O

Probe:

@model Project.WebUI.Models.MyModel 

@{ 
    ViewBag.title = "hi"; 
} 

<div>@Model.someItemInTheModel</div> 

Modell ist rot 'existiert nicht im aktuellen Kontext' unterstrichen

@model Project.WebUI.Models.MyModel 

ViewBag rot unterstrichen 'existiert nicht im aktuellen Kontext'

ViewBag.title = "hi"; 

Diese Linie ist völlig in Ordnung

<div>@Model.someItemInTheModel</div> 

-Controller, das ist alles perfekt fein

public ActionResult MyView(long date) 
{ 
    MyModel model = new MyModel(); 
    model.someItemInTheModel = "hi"; 
    return PartialView(model); 
} 
+0

Was meinen Sie, "In meinen Ansichten bekomme ich jedoch nur einige Schlüsselwörter". Was bedeutet es, Keywords zu erhalten? –

+0

Helfer, was ich meinte wie im Titel. – bbedward

+0

Mit "Keywords erhalten", meinen Sie Autocomplete? – jrummell

Antwort

0

Erstellen Sie ein neues MVC3-Projekt und vergleichen Sie diese web.config-Dateien mit denen in Ihrem Projekt. Sie benötigen das Häkchen im Projektstamm (/web.config) und in /Views/web.config.

Überprüfen Sie auch, ob Sie alle die gleichen System.Web.* Referenzen haben.

+0

Wie ich schon sagte, es ist eine perfekte Übereinstimmung und ich bekomme bestimmte Helfer wie @Model, aber nicht Model oder ViewBag, ViewContext, etc. Die web.configs sind eine Übereinstimmung und ich habe alle Referenzen (IE kann ich alle verwenden in meinem Controller) – bbedward

+0

Ack! Was meinst du mit "Helfer bekommen"? Ich kann das überhaupt nicht analysieren. Bitte erkläre dich selbst. Helfer sind nicht etwas zum "bekommen" - sie sind etwas, das Sie definieren. –

+0

Ich werde das akzeptieren. Es sagt "existiert nicht im aktuellen Kontext", was für mich verwirrend und ärgerlich ist, aber das Laufzeitproblem wurde durch etwas anderes verursacht. Ich habe immer noch keine Ahnung, warum es nicht denkt, dass sie existieren, aber es ist in Ordnung zur Laufzeit so ..:? – bbedward

Verwandte Themen