Saya baru saja membuat proyek ASP.NET MVC 4 dan menggunakan Visual Studio 2012 RC untuk membuat Controller dan Razor Views Index
dan Create
Actions.
Ketika saya datang untuk menjalankan aplikasi, dan melihat- Create
lihat, kesalahan berikut ditunjukkan:
Pesan Kesalahan Kompiler: CS0103: Nama 'Script' tidak ada dalam konteks saat ini
Masalahnya adalah kode berikut yang ditambahkan secara otomatis ke bagian bawah tampilan:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Mengapa Naskah tidak ada?
Saya melihat kelas Halaman Web dasar di Assembly System.Web.Mvc.dll, v4.0.0.0
Saya dapat melihat properti pembantu berikut ini tersedia:
- Ajax
- Html
- Url
Tapi tidak ada yang bernama Script.
Ada ide?
EDIT:
File Web.config saya terlihat seperti ini (tidak tersentuh dari yang dibuat 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>
EDIT # 2:
Orang-orang menulis blog tentang menggunakan @Scripts
helper:
Namun setelah menginstal Visual Studio 2012 RC ke instalasi Windows 8 yang baru, saya masih tidak dapat menggunakan @Scripts
meskipun Visual Studio menambahkannya ke tampilan yang dihasilkan!
Solusi disajikan di bawah ini.
Saya tidak yakin bagaimana menutup ini, karena pada akhirnya pembaruan tampaknya menyelesaikan masalah. Saya mengecek ulang saya telah melakukan instalasi bersih, menggunakan proyek baru. Tetapi proyek gagal yang sama yang saya buat sekarang berfungsi dengan baik setelah berbagai pembaruan dan tidak ada intervensi manual yang jelas. Terima kasih atas semua pemikirannya tetapi pasti ada masalah pada saat itu;)
<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>