I have just created an ASP.NET MVC 4 project and used Visual Studio 2012 RC to create a Controller and Razor Views for Index
and Create
Actions.
When I came to run the application, and browsed to the Create
view, the following error was shown:
Compiler Error Message: CS0103: The name 'Scripts' does not exist in the current context
The problem is the following code which was added automatically to the bottom of the View:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Why does Scripts not exist?
I looked at the base Web Page class in Assembly System.Web.Mvc.dll, v4.0.0.0
I can see the following helper properties available:
- Ajax
- Html
- Url
But nothing named Scripts.
Any ideas?
EDIT:
My Web.config file looks like this (untouched from the one that Visual Studio created):
<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>
EDIT #2:
People are blogging about using the @Scripts
helper:
Yet having just installed Visual Studio 2012 RC onto a fresh Windows 8 install I am still unable to use @Scripts
even though Visual Studio adds it to the generated View!
Solutions are presented below.
I am not sure how to close this, because in the end an update seemed to resolve the issue. I double checked I had performed a clean install, using a new project. But the same failing project I had made works fine now after various updates and no manual obvious intervention. Thanks for all of the thoughts but there was definitely an issue at the time ;)
I ran into this problem, however while running the command:
I received the cryptic message (gotta love a great pun before the first cup of coffee):
I am running this on Windows XP SP3 (not by choice) and what I found was that I had to follow the instructions posted by the user artsnob on the ASP.NET Forum
Once I ran this I could then run the command line to update the Web.Optimization.
Hope this saves someone some digging.
When I enter on a page that haves this code:
This error occurs: Error. An error occurred while processing your request.
And this exception are recorded on my logs:
I have tried all tips on this page and none of them solved for me. So I have looked on my Packages folder and noticed that I have two versions for System.Web.Optmization.dll:
My project was referencing to the older beta version. I only changed the reference to the newer version (69KB) and eveything worked fine.
I think it might help someone.
Try this:
Apparently you have created an 'Empty' project type without 'Scripts' folder. My advice -create a 'Basic' project type with full 'Scripts' folder.
With respect to all developers.
One more for the pot - spent ages trying to work out the same problem - even though it was defined in the web.config for root and the root of Views. Turns out I'd mistakenly added it to the
<system.web><pages><namespaces>
, and not<system.web**.webPages.razor**><pages><namespaces>
element.Really easy to miss that!
I solve this problem in MvcMusicStore by add this part of code in _Layout.cshtml
and remove this code from Edit.cshtml
Run the program inshallah will work with you.