Właśnie utworzyłem projekt ASP.NET MVC 4 i użyłem programu Visual Studio 2012 RC do utworzenia widoków kontrolera i żyletki Index
oraz Create
akcji.
Gdy przyszedłem uruchomić aplikację i przejrzałem Create
widok, pokazany został następujący błąd:
Komunikat o błędzie kompilatora: CS0103: Nazwa „Skrypty” nie istnieje w bieżącym kontekście
Problemem jest następujący kod, który został dodany automatycznie na dole Widoku:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Dlaczego skrypty nie istnieją?
Spojrzałem na podstawową klasę strony internetowej w asemblerze System.Web.Mvc.dll, v4.0.0.0
Widzę następujące właściwości pomocnika:
- Ajax
- HTML
- URL
Ale nic nie nazywa Skryptów.
Jakieś pomysły?
EDYTOWAĆ:
Mój plik Web.config wygląda następująco (nietknięty od tego, który utworzył Visual Studio):
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.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>
EDYCJA 2:
Ludzie blogują na temat korzystania z @Scripts
pomocnika:
Jednak po zainstalowaniu programu Visual Studio 2012 RC na nowej instalacji systemu Windows 8 nadal nie mogę go używać, @Scripts
mimo że program Visual Studio dodaje go do wygenerowanego widoku!
Rozwiązania są przedstawione poniżej.
Nie jestem pewien, jak to zamknąć, ponieważ ostatecznie wydawało się, że aktualizacja rozwiązała problem. Dokładnie sprawdziłem, czy wykonałem czystą instalację, używając nowego projektu. Ale ten sam nieudany projekt, który sprawiłem, że działa dobrze po różnych aktualizacjach i bez ręcznej oczywistej interwencji. Dzięki za wszystkie przemyślenia, ale wtedy zdecydowanie był problem;)
<system.web.webPages.razor> <pages pageBaseType=""> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> etc... </pages>