Acabo de crear un proyecto ASP.NET MVC 4 y utilicé Visual Studio 2012 RC para crear un controlador y vistas de afeitadoras Index
y Create
acciones.
Cuando llegué a ejecutar la aplicación y examiné la Create
vista, se mostró el siguiente error:
Mensaje de error del compilador: CS0103: el nombre 'Scripts' no existe en el contexto actual
El problema es el siguiente código que se agregó automáticamente al final de la Vista:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
¿Por qué no existen los scripts?
Miré la clase de página web base en Assembly System.Web.Mvc.dll, v4.0.0.0
Puedo ver las siguientes propiedades auxiliares disponibles:
- Ajax
- HTML
- Url
Pero nada llamado Scripts.
¿Algunas ideas?
EDITAR:
Mi archivo Web.config se ve así (sin tocar el creado por 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>
EDITAR # 2:
La gente está blogueando sobre el uso del @Scripts
ayudante:
Sin embargo, después de instalar Visual Studio 2012 RC en una nueva instalación de Windows 8, todavía no puedo usarlo @Scripts
, ¡aunque Visual Studio lo agrega a la Vista generada!
Las soluciones se presentan a continuación.
No estoy seguro de cómo cerrar esto, porque al final una actualización pareció resolver el problema. Verifiqué dos veces que había realizado una instalación limpia, usando un nuevo proyecto. Pero el mismo proyecto fallido que hice funciona bien ahora después de varias actualizaciones y sin intervención obvia manual. Gracias por todos los pensamientos, pero definitivamente hubo un problema en ese momento;)
<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>