2014-11-09 93 views
0

我有一個頁面,如:MVC4無法加載的jquery

@model PAP.Models.Account.LoginModel 
@{ 
    Layout = null; 
} 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    @Scripts.Render("~/bundles/jquery") 
</head> 
<body> 
</body> 
</html> 

這些束被配置等:

public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 

代碼/頁工作正常。但是在我將它發佈到生產服務器(DEV pc是windows 7,服務器是windows 2012)之後,jquery未加載。對於這個頁面,我沒有使用任何佈局。

哪裏以及如何解決這個問題!

非常感謝!

+1

假設你在Release模式出版,所述捆綁正在尋找.min版本。你上傳了兩個版本嗎? – 2014-11-09 05:00:49

+0

@TiesonT。,這是不正確的。默認情況下,捆綁器將創建一個.min版本(如果不存在)。 – 2014-11-09 06:53:52

+0

@StephenMuecke我認爲我們都有點偏離。捆綁器實際上並不是創建.min版本,如果它缺少的話,它只是在爲捆綁產生的連接和縮小文件中使用非縮小版本。如果這就是你的意思,那麼我明白這一點。 – 2014-11-09 07:23:06

回答

0

讓我回答我的問題:

我用小提琴手跟蹤的HTTP請求,並找出形式的認證塊獲得「包」的文件夾。

我所做的就是添加bundles文件夾以允許匿名訪問。這工作!但我有其他類似的項目沒有這個問題。仍然無法找出真正的原因。任何機構都有什麼想法?

這裏是我的配置的一部分:

<location path="pub"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
    <location path="bundles"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
    <location allowOverride="true"> 
    <system.web> 
     <authorization> 
     <deny users="?" /> 
     </authorization> 
     <authentication mode="Forms"> 
     <forms loginUrl="~/Account/Login" slidingExpiration="true" timeout="30" /> 
     </authentication> 
    </system.web> 
    </location> 
+0

您是否向您的FilterConfig添加了AuthorizeAttribute?這將使其強制授權每一個請求,包括那些資產在/ Content文件夾。否則,請確保將/ Content文件夾從路由機制中排除,方法是將其添加到RouteConfig中:'routes.IgnoreRoute(「{folder}/{* pathInfo}」,new {folder =「content」});' – 2014-11-10 07:37:37