在進入Edit功能時,會出現以下錯誤訊息:
=======================================================
編譯錯誤
描述: 資源編譯無法完成 (錯誤發生於服務要求)。請檢閱下列的特定錯誤詳細資料,並視情況修改您的原始程式碼。編譯器錯誤訊息: CS0103: 名稱 'Scripts' 不存在於目前內容中
原始程式錯誤:
|
原始程式檔: d:\MvcTestPrj\MvcTestPrj\Views\StoreManager\Edit.cshtml 行: 69
================================================
解決之道
1.用NuGet安裝「Web Optimization FrameWork」套件
2.參考(Reference)加上System.web.Optimization
3.在Web.conf的「namespace」屬性中,加入
「 <add namespace="System.Web.Optimization" /> 」這一項
(如果不這樣,就要在各別的view中用 「@import System.Web.Optimization」)
4.在view目錄下的shared下的「_Layout.cshtml」中加入以下片段:
===========================================
@if (IsSectionDefined("scripts"))
{
@RenderSection("scripts", required: false)
}
===============================================
(我是把他加在<script src...>....</script>之後)
2012.12.23:
雖然上述沒有出現compile的錯誤,但如果用firebug就知道根本還是找不到
「~/bundles/jqueryval」 ,
所以還是需要以下步驟
step 5.在App_start目錄中加入一個類別 BundleConfig
內容如下
using System.Web.Optimization;
namespace MvcTestPrj.App_Start
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
}
}
}
step 6 到Global.aspx加入Boundle
一樣還是要using System.Web.Optimization;
=============================
protected void Application_Start()
{
BundleConfig.RegisterBundles(BundleTable.Bundles);
...
...
=========================================
如此才算真的是功德圓滿了
沒有留言:
張貼留言