相关疑难解决方法(0)

ASP.NET MVC框架4.5 CSS包不适用于托管

我正在使用MVC4编写的app ports上运行一个应用程序.

一捆css文件不起作用.在调试模式的本地计算机中,我看到了应用程序的代码,我看到了文件.该应用程序按预期工作.

<link href="/Content/css/home/basic-jquery-slider.css" rel="stylesheet"/>
<link href="/Content/css/home/Home.css" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

当我将应用程序上传到Appharbor时,我在代码中看到了捆绑包但是App无法正常工作.

<link href="/Content/css/home?v=zhVOIpUNuvCOZhJyBcQWpMlozayor4te6k-pM29wHqI1" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

当我浏览那个链接时,href我得到403 - 禁止访问:访问被拒绝.

如何解决这个问题?

asp.net-mvc appharbor asp.net-mvc-4 asp.net-optimization

142
推荐指数
6
解决办法
9万
查看次数

为什么我的CSS捆绑无法使用bin部署的MVC4应用程序?

我根据这里给出的建议和一两个即时修复,将bin部署了一个MVC4应用程序给我的托管服务提供商,但最明显的问题是css的捆绑不起作用.当我用显式文件refs替换bundle ref时,我的css再次工作.

我正在使用VS2012的标准MVC4 RTM项目模板.提供程序运行IIS 7.5和ASP.NET 4,我以前的同一个应用程序的MVC3版本工作正常.我猜我已经抓住了一个版本太低的依赖,这也可能导致我的基于区域的动作链接问题.

技术症状是:

该行@Styles.Render("~/Content/css")呈现为<link href="/Content/css?v=" rel="stylesheet"/>

asp.net-mvc asp.net-mvc-4 asp.net-optimization

66
推荐指数
4
解决办法
13万
查看次数

ASP.NET MVC Bundle不在临时服务器上呈现脚本文件.它适用于开发服务器

在我们的ASP.NET MVC 4 Web应用程序中,我们的BundleConfig.cs包括以下内容:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                        "~/Scripts/jquery-ui-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.unobtrusive*",
                        "~/Scripts/jquery.validate*"));
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));
Run Code Online (Sandbox Code Playgroud)

当我们查看开发服务器上主页的html时,即使web.config中的调试模式设置为true,我们也可以看到以下脚本标记<compilation debug="true" targetFramework="4.0" />:

<script src="/AFR/Scripts/jquery-ui-1.8.20.min.js"></script>
<script src="/AFR/Scripts/modernizr-2.5.3.js"></script>
<script src="/AFR/Scripts/jquery-1.7.1.js"></script>
<script src="/AFR/Scripts/jquery-ui-1.8.20.js"></script>
<script src="/AFR/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/AFR/Scripts/jquery.validate.js"></script>
<script src="/AFR/Scripts/jquery.validate.unobtrusive.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是当我们在登台服务器上部署应用程序并查看主页的html(查看源代码)时,除了<script src="/AFR/Scripts/jquery-ui-1.8.20.min.js"></script>缺少所有上述脚本标记.我们已经验证了这些标记中提到的所有文件都在脚本文件夹中.文件夹结构与开发机器上的完全相同.在登台服务器上,web.config fie具有<compilation targetFramework="4.0" />默认情况下debug ="false"的含义.

因此,某些JavaScript函数在登台服务器上失败.登台和开发机器都是Windows 2012.

请帮忙.谢谢.

javascript asp.net-mvc-4

50
推荐指数
3
解决办法
12万
查看次数

IIS部署后样式捆绑不起作用(MVC 4)

部署到IIS后,我的样式表捆绑问题很麻烦.我已经创建了一个简单的解决方案来演示我的问题.

我创建了一个简单的测试项目(VS 2012,MVC 4),其中包含一个控制器和一个包含"Hello World"字符串的视图.

我在内容文件夹下创建了一个(测试)CSS,简单的颜色变化

Content\helloWorldCss\helloWorldStyle.css
Run Code Online (Sandbox Code Playgroud)

然后,我编辑了我的BundleConfig.cs类,并将我的CSS路径添加为新的bundle:

            bundles.Add(new StyleBundle("~/Content/helloWorldCss").Include("~/Content/helloWorldCss/helloWorldStyle.css"));
Run Code Online (Sandbox Code Playgroud)

然后,我已将新包添加到_Layout.cshtml中:

@Styles.Render("~/Content/helloWorldCss")
Run Code Online (Sandbox Code Playgroud)

当我通过VS(或Page inspector)运行我的应用程序时,我的CSS成功应用,一切似乎都没问题.但是,当我将项目发布/部署到IIS(通过VS)时,我可以查看我的HTML,但我的CSS没有被应用.部署后存在以下文件:

Content\helloWorldCss\helloWorldStyle.css
Run Code Online (Sandbox Code Playgroud)

让我感到困惑的是,当我改变我的_Layout.cshtml并将"常规"引用添加到相同的CSS而不是使用bundle ref时,CSS在发布后应用而没有任何问题.

<link href="@Url.Content("~/Content/helloWorldCss/helloWorldStyle.css")" rel="stylesheet" type="text/css" />*
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何帮助和建议.

css c# iis asp.net-mvc-4

15
推荐指数
2
解决办法
3万
查看次数